单元测试unittest¶
官网地址:https://docs.python.org/3/library/unittest.html
编写一个单元测试类,我们只需要按照如下几个步骤进行就可以啦!
- 编写一个类继承unittest.TestCase
- 编写以test开头的函数
- 调用unittest.main()
示例代码如下:
1 2 3 4 5 6 7 8 9 10 |
|
注意:这里面方法的调用顺序是按照字母排列顺序调用的, 也就是testAaa执行完之后再执行testBbb
如果你想自己执行测试的顺序,需要额外按照如下规则来执行
1 2 3 4 5 6 7 |
|
除了上面这样的基本操作之外,TestCase还提供了两个比较有用的方法
- setUp : 每个测试方法执行之前执行
- tearDown: 每个测试方法执行之后执行
1 2 3 4 5 6 7 8 9 10 11 |
|
如果有某个测试方法不想测试了,又不想删除代码,可以使用装饰器
1 2 3 |
|
在TestCase中还包含有很多帮助我们断言的函数
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) |