测试报告——生成HTML格式的测试报告
前面的实例输出的所有测试结果都是以命令行日志的方式展示,不止于难看,但也不适合直接把那样的测试结果截图发给相关人员,尤其是领导。这时需要更加友好的测试结果,既能够查看测试结果的概况,又能深入查看报告细节。虽然unittest目前没有相应的内置模块可以生成格式友好的报告,但是我可以应用unittest的扩展库HTMLTestRunner来实现。
如果想获取更多关于HTMLTestRunner的信息,可以参考;
https://pypi.org/project/HTMLTestRunner
下面将修改前面涉及的测试套件并添加HTMLTestRunner支持。主要需要创建一个包含实际测试报告的输出文件,并配置HTMLTestRunner选择。代码如下:
import unittest import HTMLTestRunner from searchtests import BaiduSearchTest from homepagetests import BaiduHomePageTest #get the directory path to report file dir = './' #current script directory search_tests = unittest.TestLoader().loadTestsFromTestCase(BaiduSearchTest) home_page_tests = unittest.TestLoader().loadTestsFromTestCase(BaiduHomePageTest) test_suite = unittest.TestSuite([home_page_tests, search_tests]) #open the report file report_file = open(dir + "BaiduTestReport.html", "wb") #configure HTMLTestRunner options runner = HTMLTestRunner.HTMLTestRunner(stream = report_file, title = 'Test Report', description = 'Test Suite', verbosity=2) #run test suite using HTMLTestRunner runner.run(test_suite)
执行该测试套件,HTMLTestRunner像unittest一样运行所有的测试。最后生成测试报告文件,如下图所示:
更多关于HTMLTestRunner信息可以参考:https://pypi.org/project/HTMLTestRunner/