unittest使用教程

使用

import unnitest

规则

  • 测试用例方法需要以test_开头
  • 测试类需要继承unittest.TestCase类
  • 执行顺序按照test_后的字母顺序

setUp与tearDown

  • 每条测试用例前后均会执行

setUpClass与tearDownClass

  • 每个测试类前后执行
  • 类方法,需要增加@classmethod

断言

  • assertEqual(arg1,arg2,msg=None)
  • assertNotEqual(arg1,arg2,msg=None)
  • assertTrue(expr,msg=None)
  • assertFalse(expr,msg=None)

运行

全部执行

  • unittest.main()

执行部分用例

suite = unittest.TestSuite()
suite.addTest(TestClassName('test_method_name'))
unittest.TextTestRunner().run(suite)

执行部分测试类

suite1 = unittest.TestLoader().loadTestsFromTestCase(TestCase1)
suite2    = unittest.TestLoader().loadTestsFromTestCase(TestCase2)
# 执行顺序
suite = unittest.TestSuite([suite1,suite2])
# verbosity标识输出详细程度,可选值0,1,2; 2最详细
unittest.TextTestRunner(verbosity=2).run(suite)

执行某个目录下的测试用例

# run.py
test_dir = './test_case'
discover = unittest.defaultTestLoader.discover(test_dir, pattern='test*.py')
  • discover可以一次调用多个脚本
  • pattern指定脚本匹配规则
posted @ 2023-04-19 17:26  郭菜菜啊  阅读(47)  评论(0)    收藏  举报