装饰器和代码如下,我使用装饰器的主要目的是在 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)



↙↙↙阅读原文可查看相关链接,并与作者交流