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