python_單元測試unittest測試報告HTMLTestRunner


前提:導入HTMLTestRunner模塊--將HTMLTestRunner.py放入python環境變量目錄(通過sys.path查看)

步驟1. 創建Testsuite對象 -- unittest.test()

步驟2. 將用例加入到Testsuite -- suite.addTest(GetUserTest('test_get_user'))

步驟3. 創建文件保存測試結果,設置報告內容 -- 注意必須是二進制wb

步驟4. 以報告模版運行testSuite

注意:不能用pycharm的unittest模式運行,否則無法生成報告。 直接運行代碼。

import unittest,requests,HTMLTestRunner

class GetUserTest(unittest.TestCase):

def tearDown(self):
print('tear down...')
def setUp(self):
print('tear...up')
def test_get_user(self):
res = requests.get('http://api.map.baidu.com/telematics/v3/weather?location=%E5%98%89%E5%85%B4&output=json&ak=5slgyqGDENN7Sy7pw29IUvrZ').json()
status = res.get('status')
s_status = 201
self.assertEquals(s_status,status)
def test_get_user2(self):
res = requests.get('http://api.map.baidu.com/telematics/v3/weather?location=%E5%98%89%E5%85%B4&output=json&ak=5slgyqGDENN7Sy7pw29IUvrZ').json()
message = res.get('message')
s_message = 'APP'
self.assertIn(s_message,message)

if __name__=='__main__':
suite = unittest.TestSuite()
suite.addTest(GetUserTest('test_get_user'))
suite.addTest(GetUserTest('test_get_user2'))
fr = open('res.html','wb')
report = HTMLTestRunner.HTMLTestRunner(stream=fr,title='測試報告',description='測試報告詳情')
report.run(suite)

if __name__=='__main__':
# suite = unittest.makeSuite(GetUserTest) #運行類下面的test所有用例
suite = unittest.defaultTestLoader.discover('.','unit*.py') #運行當前目錄下,以unit開頭的所有用例
 fr = open('res1.html','wb')
runner = HTMLTestRunner.HTMLTestRunner(
stream=fr,title='測試報告',description='測試報告詳情')
runner.run(suite)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM