您好,登錄后才能下訂單哦!
小編給大家分享一下unittest如何生成測試報告,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
在測試套件中,修改用于執行測試用例集的runner,增加一個上下文管理器with語句,例如: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;
使用時需要導入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
總數是3、Pass
通過的測試用例數量是2、Skip
跳過的測試用例數量是1
我們可以使用unittest.defaultTestLoader
類中的discover()
方法實現自動根據測試目錄start_dir
匹配查找測試用例文件,并將查找到的測試用例組裝到測試套件,然后通過run()方法執行discover
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)
以上是“unittest如何生成測試報告”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。