Python测试值错误异常
我有一些功能:Python测试值错误异常,python,testing,nosetests,Python,Testing,Nosetests,我有一些功能: def reverse_number(num): try: return int(num) except ValueError: return "Please provide number" 并对此进行测试: assert_raises(ValueError, reverse.reverse_number, "error") 但当我调用nosetests时,我得到了一个错误: AssertionError: ValueError
def reverse_number(num):
try:
return int(num)
except ValueError:
return "Please provide number"
并对此进行测试:
assert_raises(ValueError, reverse.reverse_number, "error")
但当我调用nosetests时,我得到了一个错误:
AssertionError: ValueError not raised
我做错了什么?函数reverse\u number捕捉异常,防止引发异常;导致断言失败,因为assert_引发调用期望函数调用引发ValueError异常
只要不捕获异常,您就可以得到您想要的:
def reverse_number(num):
return int(num)
或者,您可以捕获异常,执行某些操作,然后使用raise语句重新引发异常:
def reverse_number(num):
try:
return int(num)
except ValueError:
# do something
raise # <--- re-raise the exception