test_example01.py 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. """
  2. 单元测试 - 针对程序中最小的功能模块(函数和方法)的测试
  3. 测试方法:
  4. - 白盒测试:程序自己写的测试
  5. - 黑盒测试:测试人员或QA,不知道代码实现细节,只关注功能
  6. 编写Python单元测试 - 定义类继承TestCase,写测试方法(test_开头)
  7. 执行单元测试:
  8. - unittest.main()
  9. - python3 -m unittest test_example01.py
  10. 第三方库 - nose2 / pytest
  11. pip install pytest pytest-cov
  12. pytest -v --cov
  13. ------------------------------
  14. pip install nose2 cov-core
  15. nose2 -v -C
  16. """
  17. from unittest import TestCase
  18. from example01 import seq_search, bin_search
  19. class TestExample01(TestCase):
  20. """测试查找函数的测试用例"""
  21. # 执行每个测试函数之前要执行的方法
  22. def setUp(self):
  23. self.data1 = [35, 97, 12, 68, 55, 73, 81, 40]
  24. self.data2 = [12, 35, 40, 55, 68, 73, 81, 97]
  25. # 执行每个测试函数之后要执行的方法
  26. def tearDown(self):
  27. pass
  28. def test_seq_search(self):
  29. """测试顺序查找"""
  30. self.assertEqual(0, seq_search(self.data1, 35))
  31. self.assertEqual(2, seq_search(self.data1, 12))
  32. self.assertEqual(6, seq_search(self.data1, 81))
  33. self.assertEqual(7, seq_search(self.data1, 40))
  34. self.assertEqual(-1, seq_search(self.data1, 99))
  35. self.assertEqual(-1, seq_search(self.data1, 7))
  36. def test_bin_search(self):
  37. """测试二分查找"""
  38. self.assertEqual(1, bin_search(self.data2, 35))
  39. self.assertEqual(0, bin_search(self.data2, 12))
  40. self.assertEqual(6, bin_search(self.data2, 81))
  41. self.assertEqual(2, bin_search(self.data2, 40))
  42. self.assertEqual(7, bin_search(self.data2, 97))
  43. self.assertEqual(-1, bin_search(self.data2, 7))
  44. self.assertEqual(-1, bin_search(self.data2, 99))