单元测试用例代码实例
# -*- coding: utf-8 -*- # @Date : 2018-12-21 # @Author : Peng Shiyu import unittest # 继承unittest.TestCase class MyTest(unittest.TestCase): # 必须使用@classmethod 装饰器,所有test运行前运行一次 @classmethod def setUpClass(cls): print("类测试开始...") # 必须使用 @ classmethod装饰器, 所有test运行完后运行一次 @classmethod def tearDownClass(cls): print("类测试结束") # 每个测试用例执行之前做操作 def setUp(self): print("方法测试开始...") # 每个测试用例执行之后做操作 def tearDown(self): print("方法测试结束") # 测试用例 def test_print(self): print("测试输出") # 测试用例 def test_equal(self): print("测试相等") self.assertEqual("a", "a") if __name__ == '__main__': # 运行所有的测试用例 unittest.main() """ 类测试开始...方法测试开始... 测试相等 方法测试结束 方法测试开始... 测试输出 方法测试结束 类测试结束 """
TestCase 中最常用的断言方法
断言方法 |
检查条件 |
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 |
assertlsInstance(a, b) | isinstance(a, b) |
assertNotIsInstance(a, b) | not isinstance(a, b) |
运行测试
1、 运行当前源文件中的所有测试用例
unittest.main()
2、运行测试文件
python -m unittest 测试文件
3、运行当前目录下的所有测试用例
python -m unittest
此处可能出现如下字符:
.:代表测试通过
F:代表测试失败 failure
E:代表测试出错 error
s:代表跳过该测试 skip
参考