先了解unittest中最核心的4个概念:
TestCase:一个testcase的实例就是一个测试用例
TestSuite:将多个用例集合在一起执行
TestLoader:用来加载,查找已test开头的测试用例到TestSuite里面
TextTestRunner:用来执行测试用例
fixture:测试前环境的搭建setUp和测试完环境的还原tearDown
原理:TestLoader从TestCase发现用例,并把用例加载到TestSuite里面。TestSuite也能直接添加单条用例,最后调用TextTestRunner里面run()来执行
第一种:函数(方法)级别
# 执行单条用例,传用例(函数)名称
suite.addTest(TestMathMethod('test_add_two_positive')) #类名然后括号里面函数名
第二种:类名级别(类级别需导入要执行类的,类名称):
suite.addTest(loader.loadTestsFromTestCase(TestHttp)) #括号里面传要执行的类名
第三种:模块级别(需导入要运行的模块名):
# todo 模块级别
suite.addTest(loader.loadTestsFromModule(test_http)) #括号里面填已.py文件结尾的文件名模块名