手工加载用例
需求:
测试用例的执行顺序是根据测试用例名称顺序执行的,有没办法自定义顺序?
如果有多个测试文件,怎么进行组织?
unittest.TestSuite() 测试套件帮我们解决
用来确定测试用例的顺序,哪个先执行哪个后执行
如果一个class中有四个test开头的方法,则加载到suite中时则有四个测试用例
由TestLoder加载TestCase到TestSuite
verbosity参数可以控制执行结果的输出,0 是简单报告、1 是一般报告、2 是详细报告 默认1 会在每个成功的用例前面有个“.” 每个失败的用例前面有个 “F”
testsuite方法,调用addTest来加载测试用例:类名(‘方法名’)的集合
addTest() 添加一个测试用例
addTest([,]) 添加多个测试用例
解决:
if __name__ == '__main__':
# verbosity 默认是1,为0的话最简洁,不输出每个用例执行结果,2 输出用例的详细执行结果
# unittest.main(verbosity=2)
# 构造一个测试套件
suite = unittest.TestSuite()
#方法一:
#类名('方法名')的集合
# suite.addTest(UserTestCase2("testCase3"))
# suite.addTest(UserTestCase("testCase2"))
# suite.addTest(UserTestCase2("testCase2"))
#方法二
#批量添加
suite.addTests([UserTestCase2("testCase3"), UserTestCase2("testCase2"), UserTestCase("testCase2")])
# 执行测试 TextTestRunner() 文本测试用例运行器,通过该类下面的run()方法来运行suite所组装的测试用例,入参为suite测试套件。
runner = unittest.TextTestRunner(verbosity=2)
# run()方法是运行测试套件的测试用例,入参为suite测试套件
runner.run(suite)