unittest系統(七)產生漂亮的測試報告
阿新 • • 發佈:2021-08-01
之前分享了一系列的文章,分別從原理,執行,斷言,執行,測試套件,如何跳過用例來講解unittest,如何初始化一次,那麼我們繼續分享漂亮的html測試報告。
在之前我們的測試報告中,我們有測試報告,但是原生的給我們帶的比較簡單,我們要想出來漂亮的html測試報告,是否可以呢,答案是可以的,這裡我展示兩個漂亮的unittest的測試報告,簡潔大方。
github地址:https://github.com/easonhan007/HTMLTestRunner
下載後,我們直接複製BSTestRunner.py到專案目錄下,我們在程式碼中演示下
import unittest from BSTestRunner importBSTestRunner 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。
大家可以根據自己的實際情況去選擇適合自己的即可。
歡迎關注我的個人公眾號