você pode verificar que uma exceção é lançada com doctest em Python?

votos
41

É possível escrever um teste de unidade doctest que irá verificar que uma exceção é gerada?
Por exemplo, se eu tiver uma função foo(x)que é suposto para levantar uma exceção se x<0, como eu ia escrever o doctest para isso?

Publicado 15/08/2008 em 19:43
fonte usuário
Em outras línguas...                            


2 respostas

votos
63

Sim. Você consegue. O doctest documentação do módulo e Wikipedia tem um exemplo disso.

   >>> x
   Traceback (most recent call last):
     ...
   NameError: name 'x' is not defined
Respondeu 15/08/2008 em 20:04
fonte usuário

votos
2
>>> import math
>>> math.log(-2)
Traceback (most recent call last):
 ...
ValueError: math domain error

reticências bandeira # doctest: + ELLIPSIS não é necessário para usar ... em Traceback doctest

Respondeu 18/11/2015 em 18:22
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more