装饰器和代码如下,我使用装饰器的主要目的是在 log 里面输出正在执行的用例名和用例注释,但是实现后发现执行完成后 log 里确实记录了装饰器的效果,但是 HTML 报告内却没有了。
有大佬能帮忙决解下吗?找不到思路。
报告地址:https://github.com/huilansame/HTMLTestRunner_PY3
def get_func_name_doc(func):
'''获取函数名及注释'''
def run(*argv):
print(("正在执行:{},测试场景为:{}".format(func.__name__, func.__doc__)))
if argv:
ret = func(*argv)
else:
ret = func()
return ret
return run
import sys
from pathlib import Path
cur_path = Path.cwd()
temp_path = Path.cwd().parent
if str(temp_path) in sys.path:
print('此目录:{0}已在系统环境变量内,无需再次添加'.format(str(temp_path)))
else:
sys.path.append(str(temp_path)) # 加入系统环境变量,以便用例调用项目下模块
from xx.xx.HTMLTestRunner import HTMLTestRunner
from unittest import TestCase,TestSuite
class Test(TestCase):
'''测试'''
@get_func_name_doc
def test_a(self):
'''测试和'''
a = 1
b = 2
self.assertEqual(a+1,b)
fp = open('test.html','wb')
runner = HTMLTestRunner(stream=fp,
title='测试装饰器',
description='测试装饰器',
verbosity=2,) # 控制台打印执行结果
all_cases = TestSuite()
all_cases.addTest(Test('test_a'))
runner.run(all_cases)