unittest 8 断言异常(assertRaises)
Posted candyyang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了unittest 8 断言异常(assertRaises)相关的知识,希望对你有一定的参考价值。
背景
我们有时候需要断言一些方法会抛出异常,这些异常需要符合我们的预期。
代码
新建test_exception.py
文件,内容如下
import unittest
class DivZeroTestCase(unittest.TestCase):
def test_should_raise_exception(self):
with self.assertRaises(ZeroDivisionError):
1 / 0
if __name__ == ‘__main__‘:
unittest.main()
运行及结果
$ python test_exception.py
.
----------------------------------------------------------------------
Ran 1 test in 0.000s
OK
我们能学到什么
- 上面的例子断言了当0作为除数的时候会抛出
ZeroDivisionError
- 断言异常是有套路的,使用
with
语句加assertRaises
,assertRaises的参数中传入预期的异常(这些异常可能需要先import进来),在with的子句中放上会抛出异常的语句或表达式
参考
http://www.testclass.net/pyunit/assert_raise
断言异常方法,实际运行的时候发生期望的异常,属于测试通过。
以上是关于unittest 8 断言异常(assertRaises)的主要内容,如果未能解决你的问题,请参考以下文章
pytest学习和使用5-Pytest和Unittest中的断言如何使用?