通过main()去运行测试
1 | ... |
命令行接口方式进行测试
1 | python -m unittest test_module1 test_module2 |
测试中主要通过3个方法进行判断是否正常:
assertEqual()去检查结果是否和期望的结果相同;assertTrue()用于核实最终状态;assertRaises()去检查是否抛出期望的异常。
还有其他的一些如下表:
| Method | Checks that |
|---|---|
| assertEqual(a, b) | a == b |
| assertNotEqual(a, b) | a != b |
| assertTrue(x) | bool(x) is True |
| assertFalse(x) | bool(x) is False |
| assertIs(a, b) | a is b |
| assertIsNot(a, b) | a is not b |
| assertIsNone(x) | x is None |
| assertIsNotNone(x) | x is not None |
| assertIn(a, b) | a in b |
| assertNotIn(a, b) | a not in b |
| assertIsInstance(a, b) | isinstance(a, b) |
| assertNotIsInstance(a, b) | not isinstance(a, b) |
| assertRaises(exc, fun, *args, **kwds) | fun(*args, **kwds) raises exc |
| assertRaisesRegexp(exc, r, fun, *args, **kwds) | fun(*args, **kwds) raises exc and the message matches regex r |
在TestCase的类里,setUp()会先被加载,然后再去运行需要测试的方法
1 | import unittest |
如果实在生产环境下运行的测试,在一般情况下,是在setUp()创建或更新一些运行测试必要的数据,整个测试运行完后,tearDown()会被执行,删除或恢复数据的操作可以放在tearDown()里边,如:
1 | class ListApiTests(unittest.TestCase): |
参考: