import unittest
import random
import HTMLTestRunner
class MyTest(unittest.TestCase):
def setUp(self):
self.num=range(10)
def testrandom(self):
self.assertTrue(random.choice(self.num)in self.num )
def test1(self):
num1=random.choice(self.num)
num2=random.choice(self.num)
self.assertEqual(num1,num2)
def test2(self):
num1=random.choice(self.num)
self.assertTrue(num1<10)
if name == ‘main’:
#unittest.main()
#定义一个测试套件
suite=unittest.TestSuite()
#添加测试用例
#添加单个测试用例
# suite.addTest(MyTest(‘test1’))
# suite.addTest(MyTest(‘test2’))
# suite.addTest(MyTest(‘testrandom’))
suite.addTests(unittest.makeSuite(MyTest))
#unittest.TextTestRunner(verbosity=2).run(suite)
runner=HTMLTestRunner.HTMLTestRunner(stream=open(‘测试报告.html’,‘wb’),title=‘unittest测试报告’,description=‘示例’)
runner.run(suite)
上述需要注意的是,生成文件的类型需要是html格式的文件,否则无法打开
1.遇到的第一个坑,第一个就是HTLMTtestRunner 下载不了的问题,看了别人的帖子需要去下载那个模块并且去修改里面的参数,现在只要把链接:https://pan.baidu.com/s/1_kJtQmvsIki4ErLz4TEUTg
提取码:cve0
复制这段内容后打开百度网盘手机App,操作更方便哦
只要把这个HTMLtestRunner.py文件放在python的目录下即可
现在导入成功
2.第二个问题就是生成了报告之后,找不到HTML报告,有时候生成打开是空的问题。后来看了帖子是因为if name == ‘main’:函数下面的函数根本没有执行到,后来在下面加了一个输出语句发现真的没有执行到,后来找到这个帖子解决了这个问题。详情请查看
https://blog.csdn.net/alchaochao/article/details/79630830(感谢这个大佬的分享)
3.最后对报告的优化
import unittest
import random
import HTMLTestRunner
from BeautifulReport import BeautifulReport
class MyTest(unittest.TestCase):
def setUp(self):
self.num=range(10)
def testrandom(self):
self.assertTrue(random.choice(self.num)in self.num )
def test1(self):
num1=random.choice(self.num)
num2=random.choice(self.num)
self.assertEqual(num1,num2)
def test2(self):
num1=random.choice(self.num)
self.assertTrue(num1<10)
if name == ‘main’:
#unittest.main()
#定义一个测试套件
suite=unittest.TestSuite()
#添加测试用例
#添加单个测试用例
# suite.addTest(MyTest(‘test1’))
# suite.addTest(MyTest(‘test2’))
# suite.addTest(MyTest(‘testrandom’))
suite.addTests(unittest.makeSuite(MyTest))
#unittest.TextTestRunner(verbosity=2).run(suite)
result = BeautifulReport(suite)
result.report(description=“测试案列”,filename=“改造后的测试报告”)