with open('文件名', 'w+') as f
,其中f表示一个流对象,而后把流对象加入TextTestRunner类的参数stream中,例如:runner = TextTestRunner(stream=f),而后运行,项目中就能生成一个文件,文件中的内容就是测试用例打印出的内容;from test1 import MyTestCase from unittest import TestSuite, TextTestRunner suite = TestSuite() # 在测试用例集中添加测试用例 suite.addTest(MyTestCase('test_print1')) suite.addTest(MyTestCase('test_print2')) suite.addTest(MyTestCase('test_print3')) if __name__ == '__main__': # 建立测试runner,执行测试用例集 with open('html_result1', 'w+') as f: runner = TextTestRunner(stream=f, verbosity=2) runner.run(suite)
HtmlTest runner是一个单元测试运行器,能够将测试结果保存在Html文件中。首先须要安装模块:pip install html-testRunner,安装后调用时显示为HtmlTestRunner;html
使用时须要导入HtmlTestRunner中的HTMLTestRunner类;浏览器
再将测试中的TextTestRunner类替换成HTMLTestRunner类,这里须要注意一下HTMLTestRunner自带的参数,output表示结果保存到哪里、verbosity显示用例打印内容、stream表示标准输出、report_name文件名、report_title标题、descriptions描述等。而后直接运行,就会在html中生成一个html文件,若是再次运行会生成一个新的html文件;单元测试
from test import MyTestCase from unittest import TestSuite, TextTestRunner import HtmlTestRunner suite = TestSuite() # 在测试用例集中添加测试用例 suite.addTest(MyTestCase('test_print1')) suite.addTest(MyTestCase('test_print2')) suite.addTest(MyTestCase('test_print3')) if __name__ == '__main__': # 建立测试runner,执行测试用例集 # runner = TextTestRunner() with open('html_result', 'w+') as f: runner = HtmlTestRunner.HTMLTestRunner(output='./', stream=f, report_title='测试报告', descriptions='测试报告详情') runner.run(suite)
咱们来看一下在浏览器中HTML页面效果,这个测试报告都有说明的,好比说测试用例的Total
总数是三、Pass
经过的测试用例数量是二、Skip
跳过的测试用例数量是1测试
咱们能够使用unittest.defaultTestLoader
类中的discover()
方法实现自动根据测试目录start_dir
匹配查找测试用例文件,并将查找到的测试用例组装到测试套件,而后经过run()方法执行discoverui
from unittest import TextTestRunner, defaultTestLoader start_dir = './' discover = defaultTestLoader.discover(start_dir=start_dir, pattern=r'test*.py') if __name__ == '__main__': # 建立测试runner,执行测试用例集 with open('html_result1', 'w+') as f: runner = TextTestRunner(stream=f, verbosity=2) runner.run(discover)
参考:https://www.9xkd.com/user/plan-view.html?id=1914210302code