使用
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)
运行
全部执行
执行部分用例
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指定脚本匹配规则