Python TestSuite生成測試報告過程解析
簡介:為每一個測試用例添加說明,那么將會使報告更加易讀懂,工作中匯報數(shù)據(jù)的技巧u'test_one方法'
HTMLTestRunner 是 Python 標準庫的 unittest 模塊的一個擴展,它可以生成 HTML的 測試報告,無法通過pip安裝。
首先要下 HTMLTestRunner.py 文件,將下載的文件放入…pythonLib目錄下 (或者同個路徑)
注意點:
python2和python3,語法不一樣,導致HTMLTestRunner在python3不兼容
解決辦法:導入課程資料里面修改好的HTMLTestRunner.py (該版本是網(wǎng)上的小伙伴修改好的)
# -*- coding: UTF-8 -*-import unittestimport HTMLTestRunnerimport timeclass XdclassTestCase(unittest.TestCase): def setUp(self): self.age = 32 self.name = '小D課堂' print(' setUp method=======') def tearDown(self): print(' tearDown method=======') #斷言是否相同 self.assertEqual(’foo’.upper(), ’FOO’) def test_one(self): u'test_one方法' print(' test_one 二當家小D 來了') #斷言是否相同 self.assertEqual(self.name, '小D課堂',msg='名字不對') def test_two(self): u'test_TWO方法說明' print(' test_two 前端 來了') #斷言是否為 true, msg是斷言錯誤的提示信息 self.assertTrue(’XD’.isupper(), msg='不是大寫') def test_three(self): u'這是首頁登錄測試用例' print(' test_three 后端 來了') self.assertEqual(self.age,32) def test_four(self): print(' test_four 小D課堂官網(wǎng)上線啦 https://www.xdclass.net') self.assertEqual(self.age,32)if __name__ == ’__main__’: suite = unittest.TestSuite() suite.addTest(XdclassTestCase('test_two')) suite.addTest(XdclassTestCase('test_one')) suite.addTest(XdclassTestCase('test_three')) suite.addTest(XdclassTestCase('test_four')) #verbosity參數(shù)可以控制執(zhí)行結(jié)果的輸出,0 是簡單報告、1 是一般報告(默認)、2 是詳細報告 #runner = unittest.TextTestRunner(verbosity=2) #runner.run(suite) #文件名中加了當前時間,為了每次生成不同的測試報告 file_prefix = time.strftime('%Y-%m-%d %H_%M_%S', time.localtime()) print(file_prefix) #創(chuàng)建測試報告,此時這個文件還是空文件 # wb 以二進制格式打開一個文件,只用于寫入,如果文件存在則覆蓋,不存在則創(chuàng)建 fp = open('./'+file_prefix+'_result.html','wb') # stream定義一個測試報告寫入的文件,title就是標題,description就是描述 runner = HTMLTestRunner.HTMLTestRunner(stream=fp, title=u'小D課堂 測試報告',description=u'測試用例執(zhí)行情況') runner.run(suite) fp.close()
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
