unittest⽣成BeautifulReport测试报告,DDT⽤例描述,读取
yaml参数
安装BeautifulReport库
pip install BeautifulReport
安装ddt库
pip install ddt
1,修改ddt.py
def wrapper(cls):
感恩父母的话语
for name, func in list(cls.__dict__.items()):
if hasattr(func, DATA_ATTR):
index_len = getattr(func, INDEX_LEN)
for i, v in enumerate(getattr(func, DATA_ATTR)):
test_name = mk_test_name(
name,
getattr(v, "__name__", v),
i,
index_len,
fmt_test_name
)
江苏平均工资#test_data_docstring = _get_test_data_docstring(func, v)
#⽤例描述改为⽤例名称
test_data_docstring = v['caName']
if hasattr(func, UNPACK_ATTR):
if isinstance(v, tuple) or isinstance(v, list):
add_test(
cls,
test_name,
test_data_docstring,
func,
*v
)
...
2,测试⽤例
import unittest, ddt
# ddt 传⼊参数caNum为参数值,caName为⽤例描述
datalist = [{'caNum': 'ca001', 'caName': '⽤例⼀'}, {'caNum': 'ca002', 'caName': '⽤例⼆'}]
@ddt.ddt
class UrTestCa(unittest.TestCa):
# 所有类中⽅法的⼊参为lf,定义⽅法的变量也要lf.变量
def tUp(lf):
print("t up 开始")
def tearDown(lf):
print("tearDown 执⾏结束")
print('\n')
@ddt.data(*datalist)
鼠标箭头不见了
def testCa1(lf, data):
print(data)
if __name__ == '__main__':
unittest.main()
3,⽣成测试报告
import unittest
from BeautifulReport import BeautifulReport #导⼊BeautifulReport
if __name__ == '__main__':
suite_tests = unittest.defaultTestLoader.discover(".", pattern="*tests.py", top_level_dir=None) #"."表⽰当前⽬录,"*tests.py"匹配当前⽬录下所有tests.py结尾的 BeautifulReport(suite_tests).report(filename='测试报告', description='测试', log_path='.') #log_path='.'把report放到当前⽬录下
yaml 读取参数
import unittest, ddt
import yaml
# ddt 传⼊参数caNum为参数值,caName为⽤例描述
#datalist = [{'caNum': 'ca001', 'title': '⽤例⼀'}, {'caNum': 'ca002', 'title': '⽤例⼆'}]
# 读取yaml⽂件张庄中学
def read_yaml():
with open(r'C:\Urs\Administrator\PycharmProjects\pythonProject7\l', 'r', encoding='utf-8') as f:
file_content = f.read()
datalist = yaml.load(file_content, yaml.FullLoader)
return datalist
@ddt.ddt
class UrTestCa(unittest.TestCa):
# 所有类中⽅法的⼊参为lf,定义⽅法的变量也要lf.变量
def tUp(lf):
print("t up 开始")刘冠希
def tearDown(lf):
print("tearDown 执⾏结束")强化
养老金计发月数print('\n')
@ddt.data(*read_yaml())
def testCa3(lf, data):
print(data)
if __name__ == '__main__':
unittest.main()
import unittest
from BeautifulReport import BeautifulReport #导⼊BeautifulReport
if __name__ == '__main__':
suite_tests = unittest.defaultTestLoader.discover(".", pattern="*tests.py", top_level_dir=None) #"."表⽰当前⽬录,"*tests.py"匹配当前⽬录下所有tests.py结尾的
BeautifulReport(suite_tests).report(filename='测试报告', description='测试', log_path='.') #log_path='.'把report放到当前⽬录下
-
title: ⽤例⼀
caNum: 123
-红枣银耳羹
title: ⽤例⼆
caNum: 233
读取yaml
import yaml
with open(r'C:\Urs\Administrator\PycharmProjects\pythonProject7\l', 'r', encoding='utf-8') as f: file_content = f.read()
content = yaml.load(file_content, yaml.FullLoader)
print(type(content))