背景:Python3+unittest+HTMLTestRunner
1.创建2个测试用例
#coding:utf-8
import unittest
import HTMLTestRunner
class report(unittest.TestCase):
@classmethod
def setUpClass(cls):#类方法,可以放预置条件
global sum#声明一个全局变量
def test_01(self):
global sum
sum = 2 + 3
self.assertEqual(sum, 5, "测试通过")
def test_02(self):
self.assertEqual(sum,4,"测试失败")
if __name__ == '__main__':
filepath = '../report/htmlreport.html'#指定报告生成地址
suite = unittest.TestSuite()#创建一个测试套件
suite.addTest(report("test_01"))#添加用例01
suite.addTest(report("test_02"))#添加用例02
with open(filepath,'wb') as fp:#使用with打开文件完成后会自动关闭文件
runner = HTMLTestRunner.HTMLTestRunner(stream=fp,title='用例执行测试报告')
runner.run(suite)
2.此时遇到一个问题,这套代码在命令行可正常生成报告,但是用在pycharm中执行却不能生成,最后解决办法是将if name == 'main':中的main替换为文件名report后就可以了
3.正确生成报告