python unittest使用HTMLTestRunner.py生成测试html报告
程序员文章站
2022-05-14 18:51:03
...
试验HTMLTestRunner产生测试报告(python3)
HTMLTestRunner.py https://github.com/linyuli861/Automated-Test.git
目录:
一个加减乘除的MathDemo.py:
#coding:utf-8
def add(a,b):
return a+b
def minus(a,b):
return a-b
def multi(a,b):
return a*b
def divide(a,b):
return a/b
测试加法和减法(start1.py):
import unittest
from MathDemo import *
class TestFunc(unittest.TestCase):
def setUp(self):
print("do something before test")
def tearDown(self):
print("do something after test")
def test_add(self):
print("add:")
self.assertEqual(3,add(1,2))
def test_minus(self):
print("minus")
self.assertEqual(3,minus(5,2))
if __name__ == "__main__":
unittest.main(verbosity=2)
测试乘法和除法(start2.py):
import unittest
from MathDemo import *
class TestFunc(unittest.TestCase):
def setUp(self):
print("do something before test")
def tearDown(self):
print("do something after test")
def test_multi(self):
print("multi:")
self.assertEqual(2,multi(1,2))
def test_minus(self):
print("divide")
self.assertEqual(2,divide(4,2))
if __name__ == "__main__":
unittest.main(verbosity=2)
以上三个文件放在case目录下;
defaultTestLoader.discover:
用discover()来加载测试多个测试用例,再用TextRunner类的run()方法去一次执行多个脚本的用例,达到批量执行的效果。
discover方法里面有三个参数:
case_dir:这个是待执行用例的目录。
pattern:这个是匹配脚本名称的规则,
top_level_dir:这个是顶层目录的名称,一般默认等于None就行了。
加载用例不多时,也可以用suite.addTest()一个一个加
测试套件:
import unittest
import os
import HTMLTestRunner
import time
case_path=os.path.join(os.getcwd(),"case")#用例路径,
def all_cases():
discover=unittest.defaultTestLoader.discover(case_path,pattern="start*.py",top_level_dir=None)
print(discover)
return discover
now=time.strftime("%Y-%m-%d %H_%M_S",time.localtime()) #获得当前时间并格式化为“年月日时分秒”
filename="./report/MathTestIn_"+now+"_result.html" #测试报告放在同级目录下一个report文件夹内
fp=open(filename,'wb')
if __name__ == "__main__":
#调用HTMLTestRunner运行,生成HTML文档报告
runner=HTMLTestRunner.HTMLTestRunner(stream=fp,title=u'加减乘除测试',description=u'用例执行情况')#unittest.TextTestRunner(verbosity=2)
runner.run(all_cases())
fp.close()
上一篇: 掌握正确姿势的包饺子调肉馅放调料的顺序,你做对了吗?
下一篇: 微软展示SecondLight技术
推荐阅读
-
基于python语言的自动化测试中生成html的测试报告时HtmlTestRunner模块常见问题
-
详解Appium+Python之生成html测试报告
-
在unittest框架中使用测试套件测试多个用例,并生成测试报告
-
Mac上实现Python用HTMLTestRunner生成html测试报告
-
python+pytest/unittest+yaml+ddt+allure/HTMLTestRunner生成测试报告
-
Python unittest生成测试报告过程解析
-
python使用 HTMLTestRunner.py生成测试报告
-
Python 中 使用 HTMLTestRunner 模块生成测试报告
-
python使用HTMLTestRunner生成测试报告
-
unittest+python3.x使用HTMLTestRunner输出html测试报告