如何断言函数调用不会返回单元测试错误?

时间:2016-03-21 21:49:58

标签: python unit-testing assert

无论如何,单元测试只是断言函数调用不会导致错误,无论是TypeError,IOError等。

示例:

assert function(a,b) is not error

if not assertRaises function(a, b)

最好的方法是什么(不使用课程)?我遇到的麻烦是我在单元测试中遇到的所有有用的文档都是基于类的,我不想使用基于类的。

完整示例:

def test_validate_params():
    assert test.validate_params('hackenv-re', 'test.username') is not errors
    assert test.validate_params('fakeenv', 'test.username') is error
    assert test.validate_params('hackevn-re', 'vagrant') is error
    counter += 1
    print "Test Passed {0}/5: validate_params".format(counter)

1 个答案:

答案 0 :(得分:1)

如果您的函数引发异常,则测试将失败。无需进行任何额外检查。如果你绝对想要,你可以这样做:

try:
    function_under_test()
except Exception as e:
    self.fail("Unexpected exception %s" % e) 

(假设标准Python单元测试)