内容总括

  一. 初始化

    1. setUp 与 tearDown
    2. setUpClass 与 tearDownClass
    3. unittest.main(verbosity=0/1/2)

  二. 执行顺序

    1. 按顺序执行 addTest
    2. 按测试类执行,应用场景为:在一堆类里只想执行其中的一个类
    3. 按测试模块执行,一个py文件代表一个模块,应用场景为:批量执行

  三. 断言

  1. assertEqual(a,b)
  2. assertNotEqual(a,b)
  3. assertTrue(x)
  4. assertFalse(x)
  5. assertIs(a,b)
  6. assertIsNot(a,b)
  7. assertIsNone(x)
  8. assertIsNotNone(x)
  9. assertIn(a,b)
  10. assertNotIn(a,b)

  四. 报告

  五. 其他

    1. 分离初始化模块,即公共模块
    2. skip, skipIf
解析

1. setUp 与 tearDown

    • 有几个test,就执行几次setUp 与 tearDown,浪费资源

2. setUpClass 与 tearDownClass

    • 推荐使用,只初始化一次固件,要加 @classmethod
    •   class BaiDuTest(unittest.TestCase):
      @classmethod
      def setUpClass(cls):
      print("start...")

      @classmethod
      def tearDownClass(self):
      print("end...")
         if __name__ == '__main__':   
         unittest.main(verbosity=1)
 

3. unittest.main(verbosity=0/1/2)

    • 默认为1,0与1 几乎无差别,展示测试总个数与全局结果
    • 2 为详情展示

 

4 .按顺序执行 addTest

 1 import unittest
 2 
 3 class BaiDuTest(unittest.TestCase):
 4     @classmethod
 5     def setUpClass(cls):
 6         print("start...")
 7 
 8     @classmethod
 9     def tearDownClass(self):
10         print("end...")
11     def test_baidu(self):
12         print("baidu...")
13     def test_souhu(self):
14         print("souhu...")
15 
16 if __name__ == '__main__':
17     suit = unittest.TestSuite()
18     suit.addTest(BaiDuTest.test_souhu)
19     suit.addTest(BaiDuTest.test_baidu)
20     unittest.TextTestRunner(verbosity=2).run(suit)
View Code

相关文章:

  • 2021-11-03
  • 2021-12-28
  • 2021-07-14
  • 2021-12-15
  • 2022-12-23
  • 2023-03-20
  • 2021-09-25
  • 2021-12-17
猜你喜欢
  • 2021-05-19
  • 2022-12-23
  • 2022-03-05
  • 2022-12-23
  • 2021-06-09
  • 2022-02-08
  • 2021-06-30
相关资源
相似解决方案