失败重运行
关于unittest重运行机制,unittestreport最新得版本中做了优化,直接使用TestRunner.run(之前的版本是TestRunner.rerun_run方法),传入相关的参数即可实现重运行,具体的使用如下
案例
运行时加上参数,即可实现用例失败重运行
import unittestreport
# 1、加载测试用例到套件中
suite = unittest.defaultTestLoader.discover(r'C:\project\open_class\Py0507\testcase')
runner = TestRunner(suite=suite)
runner.run(count=3, interval=2)
参数说明:
- count:用来指定用例失败重运行的次数
- interval:指定每次重运行的时间间隔
自定义用例执行顺序
此方式可以实现自定义用例执行顺序,可以根据需求自己编排要执行的用例,也可以对某一条/或多条用例进行重复执行,具体使用如下:
参数说明:
- run_case:用来指定要执行的用例,格式为:{自定义用例名称:用例方法}
- cls:测试类
- 注意点:unittest是按照ascii码顺序来执行的,所以自定义用例名称要注意ascii码顺序,否则会出现执行顺序混乱的情况
from unittestreport import TestRunner
# 编写执行的测试用例顺序
run_cases = [
{
"cls": TestDemo,
"run_case": {
'test_rerun_1_login_out': TestDemo.test_login_out,
'test_rerun_2_phone_login': TestDemo.test_phone_login,
'test_rerun_3_login_out': TestDemo.test_login_out,
'test_rerun_4_test_email_login': TestDemo.test_email_login
}
}, {
"cls": TestDemo2,
"run_case": {
'test_demo2_01_email_login': TestDemo2.test_demo2_email_login,
'test_demo2_02_login_out': TestDemo2.test_demo2_login_out,
'test_demo2_03_email_login': TestDemo2.test_demo2_email_login,
'test_demo2_04_login_out': TestDemo2.test_demo2_login_out,
'test_demo2_05_email_login': TestDemo2.test_demo2_email_login,
}
}
]
# 执行用例
suite = TestRunner.customize_run_case(run_cases)
runner = TestRunner(suite, title="测试报告", report_dir="./report", templates=2)
runner.run()