Path: blob/master/Day31-35/code/test_example01.py
2922 views
"""1单元测试 - 针对程序中最小的功能模块(函数和方法)的测试2测试方法:3- 白盒测试:程序自己写的测试4- 黑盒测试:测试人员或QA,不知道代码实现细节,只关注功能5编写Python单元测试 - 定义类继承TestCase,写测试方法(test_开头)6执行单元测试:7- unittest.main()8- python3 -m unittest test_example01.py9第三方库 - nose2 / pytest10pip install pytest pytest-cov11pytest -v --cov12------------------------------13pip install nose2 cov-core14nose2 -v -C15"""16from unittest import TestCase1718from example01 import seq_search, bin_search192021class TestExample01(TestCase):22"""测试查找函数的测试用例"""2324# 执行每个测试函数之前要执行的方法25def setUp(self):26self.data1 = [35, 97, 12, 68, 55, 73, 81, 40]27self.data2 = [12, 35, 40, 55, 68, 73, 81, 97]2829# 执行每个测试函数之后要执行的方法30def tearDown(self):31pass3233def test_seq_search(self):34"""测试顺序查找"""35self.assertEqual(0, seq_search(self.data1, 35))36self.assertEqual(2, seq_search(self.data1, 12))37self.assertEqual(6, seq_search(self.data1, 81))38self.assertEqual(7, seq_search(self.data1, 40))39self.assertEqual(-1, seq_search(self.data1, 99))40self.assertEqual(-1, seq_search(self.data1, 7))4142def test_bin_search(self):43"""测试二分查找"""44self.assertEqual(1, bin_search(self.data2, 35))45self.assertEqual(0, bin_search(self.data2, 12))46self.assertEqual(6, bin_search(self.data2, 81))47self.assertEqual(2, bin_search(self.data2, 40))48self.assertEqual(7, bin_search(self.data2, 97))49self.assertEqual(-1, bin_search(self.data2, 7))50self.assertEqual(-1, bin_search(self.data2, 99))515253