1. 程式人生 > 其它 >unittest系統(七)產生漂亮的測試報告

unittest系統(七)產生漂亮的測試報告

之前分享了一系列的文章,分別從原理,執行,斷言,執行,測試套件,如何跳過用例來講解unittest,如何初始化一次,那麼我們繼續分享漂亮的html測試報告。

在之前我們的測試報告中,我們有測試報告,但是原生的給我們帶的比較簡單,我們要想出來漂亮的html測試報告,是否可以呢,答案是可以的,這裡我展示兩個漂亮的unittest的測試報告,簡潔大方。

github地址:https://github.com/easonhan007/HTMLTestRunner

下載後,我們直接複製BSTestRunner.py到專案目錄下,我們在程式碼中演示下

import unittest
from  BSTestRunner import
BSTestRunner class TestDemo(unittest.TestCase): def setUp(self): pass def tearDown(self): pass def 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() openone= open(report,'w+') bstest=BSTestRunner(title="演示",description="演示測試報告",stream=openone) bstest.run(suitone)

我們展示下 執行的結果。

這是第一個開源的庫,我們去看下另外一個好看的html測試報告的庫。

開源地址:https://github.com/TesterlifeRaymond/BeautifulReport,這是有mock大佬開源。

我們下載後直接複製BeautifulReport.py,template到專案路徑下。建立一個路徑report。我們複製到本地所以,我稍微改動了PATH。

class PATH:
    """ all file PATH meta """
    config_tmp_path = os.getcwd() +'/template/template'

我們如何組織用例呢。

import unittest
from BeautifulReport import BeautifulReport

class TestDemo(unittest.TestCase):
    def setUp(self):
        pass
    def tearDown(self):
        pass

    def 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')

我們看下執行結果

我們看下測試報告。

新版本的還可以展示圖片,大家可以結合自己的實際情況使用,使用方法可以見官網。https://github.com/TesterlifeRaymond/BeautifulReport。

大家可以根據自己的實際情況去選擇適合自己的即可。

歡迎關注我的個人公眾號