unittest系统(七)产生漂亮的测试报告

之前分享了一系列的文章,分别从原理,运行,断言,执行,测试套件,如何跳过用例来讲解unittest,如何初始化一次,那么我们继续分享漂亮的html测试报告。
在之前我们的测试报告中,我们有测试报告,但是原生的给我们带的比较简单,我们要想出来漂亮的html测试报告,是否可以呢,答案是可以的,这里我展示两个漂亮的unittest的测试报告,简洁大方。
github地址:https://github.com/easonhan00...
下载后,我们直接复制BSTestRunner.py到项目目录下,我们在代码中演示下

import unittest fromBSTestRunner import BSTestRunnerclass TestDemo(unittest.TestCase):def setUp(self): passdef tearDown(self): passdef testEqual(self): self.assertEqual("12","122") def suite(): suite = unittest.TestSuite() suite.addTests(unittest.TestLoader().loadTestsFromName("testdemoone.TestDemo")) return suiteif __name__ == "__main__": report="test.html" suitone=suite() openone= open(report,'w+') bstest=BSTestRunner(title="演示",description="演示测试报告",stream=openone) bstest.run(suitone)

我们展示下 运行的结果。
unittest系统(七)产生漂亮的测试报告
文章图片

下面在推荐一个产生测试报告的框架,个人感觉也很棒
开源地址:https://github.com/Testerlife...,这是有mock大佬开源。
我们下载后直接复制BeautifulReport.py,template到项目路径下。创建一个路径report。我们复制到本地所以,我稍微改动了 PATH。
class PATH: """ all file PATH meta """ config_tmp_path = os.getcwd() +'/template/template'

我们如何组织用例呢。
import unittest from BeautifulReport import BeautifulReportclass TestDemo(unittest.TestCase): def setUp(self): pass def tearDown(self): passdef testEqual(self): self.assertEqual("12","122") def suite(): suite = unittest.TestSuite() suite.addTests(unittest.TestLoader().loadTestsFromName("testdemoone.TestDemo")) return suite if __name__ == "__main__": report = "test.html" suitone = suite() result = BeautifulReport(suitone) result.report(filename='test.html', description='测试deafult报告', log_path='report')

我们看下最后的执行的结果
unittest系统(七)产生漂亮的测试报告
文章图片

新版本的还可以展示图片,大家可以结合自己的实际情况使用,使用方法可以见官网。https://github.com/Testerlife...。
大家可以根据自己的实际情况去选择适合自己的即可。
欢迎关注我的个人公众号
【unittest系统(七)产生漂亮的测试报告】unittest系统(七)产生漂亮的测试报告
文章图片

    推荐阅读