Python nosetest ValueError异常

时间:2014-12-25 13:46:53

标签: 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 not raised

我做错了什么?

1 个答案:

答案 0 :(得分:4)

函数reverse_number捕获异常,预先提出要引发的异常;导致断言失败,因为assert_raises调用期望函数调用引发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