pycharm中HTTPTestRuuner不能生成測試報(bào)告
參照教程绢要,寫了一個(gè)炒雞簡單的demo重罪,但是反復(fù)運(yùn)行十籍,就是出不了測試報(bào)告。代碼如下:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import unittest
import HTMLTestRunner
class CaseTest(unittest.TestCase):
@classmethod
def setUpClass(cls):
print('this is setUpClass')
def setUp(self):
print('this is setUp')
def test_01(self):
print('this is case01')
# @unittest.skip('CaseTest')#跳過這個(gè)case
def test_02(self):
print('this is case02')
def tearDown(self):
print('this is tearDown')
@classmethod
def tearDownClass(cls):
print('this is tearDownClass')
if __name__ == '__main__':
print('hello 123')
# unittest.main()
suite = unittest.TestSuite()
suite.addTest(CaseTest('test_02'))
suite.addTest(CaseTest('test_01'))
# unittest.TextTestRunner().run(suite)
html_file = "G:\\AppiumPython\\report\\report.html"
fp = open(html_file,'wb')
runner = HTMLTestRunner.HTMLTestRunner(
stream=fp,
title=u'測試報(bào)告',
description=u'用例執(zhí)行情況:')
runner.run(suite)
fp.close()
首先明確一點(diǎn)勾栗,鼠標(biāo)放在.py文件不同的位置右鍵點(diǎn)擊run的時(shí)候惨篱,你run的代碼可能是不一樣的。
上面沒有生成測試報(bào)告围俘,很可能是if語句下面的代碼沒有執(zhí)行砸讳,然后添加了一句打印來測試琢融,果然,沒有執(zhí)行print語句簿寂。翻閱資料發(fā)現(xiàn)漾抬,pycharm執(zhí)行py文件,有幾種方式:
1常遂、unittest框架
2纳令、pytest框架
3克胳、默認(rèn)
4平绩、等等
還跟第一次執(zhí)行代碼所使用的方式有關(guān)。
這里可以這樣操作:
一:點(diǎn)擊這里:
二:然后把這個(gè)選項(xiàng)下面的py文件漠另,全部點(diǎn)擊“-”號(hào)去掉:
三:下一步就是進(jìn)入設(shè)置,找到這個(gè)選項(xiàng)笆搓,你可以看到性湿,可以選擇執(zhí)行py文件的方式,我之前是使用pytest執(zhí)行的满败,后來沒有生成測試報(bào)告肤频,進(jìn)行完步驟二之后,步驟三我這里就選擇了unittest葫录,點(diǎn)擊保存着裹。
四:接下來,點(diǎn)擊菜單欄的Run米同。(注意骇扇,run的是這個(gè)py文件的名字,也就是當(dāng)前這個(gè)py文件)面粮,然后就可以查看測試報(bào)告了少孝。
步驟四你也看到了,下方還有一個(gè)run熬苍,當(dāng)點(diǎn)擊這個(gè)run的時(shí)候稍走,會(huì)出來選項(xiàng)。
這就又回到了柴底,讓你選擇使用什么模式執(zhí)行這個(gè)py文件的那一步了婿脸。
這篇文章寫的不錯(cuò),可以參考下(轉(zhuǎn)載):https://blog.csdn.net/chenmozhe22/article/details/81700504