单元测试八:assertRaises
assertRaises(exc, fun, *args, **kwds):检查fun(*args, **kwds) raises exc
assertRaises(exception, callable, *args, **kwds)
assertRaises(exception)
当可调用的任何位置或关键字参数被调用时,该异常将会被调用,这些参数也被传递给assertRaises()。
如果异常被抛出,测试通过,如果出现另一个异常,或者不抛出异常,则会出现错误。
为了捕获任何一组异常,包含异常类的tuple可以作为异常传递。
如果只给了异常参数,则返回上下文处理器,这样测试中的代码就可以write inline(内联)而不是作为函数来写。
with self.assertRaises(SomeException):
do_something()
上下文管理器将在异常属性中存储捕获的异常对象。如果目的是对所提出的的异常进行额外的检查,这就很有用了:
with self.assertRaises(SomeException) as cm: do_something() the_exception = cm.exception self.assertEqual(the_exception.error_code, 3)
posted on 2018-08-28 10:39 myworldworld 阅读(246) 评论(0) 收藏 举报