phy*_*ist 2 python unit-testing assertraises
是否可以将assertRaises与多种类型的异常一起使用.就像是
assertRaises(RuntimeError, "error message")
assertRaises(Exception, "exception message")
Run Code Online (Sandbox Code Playgroud)
这两个错误都发生在我的代码中,在同一个调用的不同地方.
我怎么能写一个singel assertRaises语句来处理这两个.
可以想象,当只提到其中一个execptions时,单元测试用例失败.
直接来自文档:
测试在使用任何也传递给assertRaises()的位置或关键字参数调用callable时引发异常.如果引发异常则测试通过,如果引发另一个异常则为错误,如果没有引发异常则失败.要捕获任何一组异常,可以将包含异常类的元组作为异常传递.
所以,你的代码应该是这样的
assertRaises((RuntimeError, IndexError), "error message")
Run Code Online (Sandbox Code Playgroud)