zoukankan      html  css  js  c++  java
  • Python 修改在使用ddt时测试报告默认显示用例名称与预期不符

     正常在不使用ddt时,在方法下添加注释,即可作为用例描述("""用例描述""")

    @BeautifulReport.add_test_img("test_add_story")
    def test_add_story(self):
        """用例描述"""
        pass

    但是在使用了ddt进行驱动时,上面的方法就已经失效了

    @ddt
    class TestAddStory(TestInit, PageAddStory, PageStory):
    
        testdata = read_excel()
        @data(*testdata)
        @BeautifulReport.add_test_img("test_add_story")
        def test_add_story(self, data):
            """提需求"""
            pass

    测试报告上显示的用例描述如截图

    而我在数据准备时,以case_name作为用例描述

    在此基础上,为了显示预期的用例描述,需要修改ddt源码

    # ddt.py
    
    def ddt(cls):
        for name, func in list(cls.__dict__.items()):
            if hasattr(func, DATA_ATTR):
                for i, v in enumerate(getattr(func, DATA_ATTR)):
                    test_name = mk_test_name(name, getattr(v, "__name__", v), i)
                    # test_docstring = getattr(v, "__doc__", None)
                    test_docstring = ''
                    if type(v) is dict:
                        try:
                            test_docstring = v["case_name"]  # case_name
                        except:
                            test_docstring = getattr(v, "__doc__", None)
                    if hasattr(func, UNPACK_ATTR):
                        if isinstance(v, tuple) or isinstance(v, list):
                            add_test(cls, test_name, test_docstring, func, *v)
                        else:
                            add_test(cls, test_name, test_docstring, func, **v)
                    else:
                        add_test(cls, test_name, test_docstring, func, v)
                delattr(cls, name)
            elif hasattr(func, FILE_ATTR):
                file_attr = getattr(func, FILE_ATTR)
                process_file_data(cls, name, func, file_attr)
                delattr(cls, name)
        return cls

    修改完成后,测试报告显示正常 

  • 相关阅读:
    15 手写数字识别-小数据集
    14 深度学习-卷积
    13-垃圾邮件分类2
    12.朴素贝叶斯-垃圾邮件分类
    11.分类与监督学习,朴素贝叶斯分类算法
    9、主成分分析
    8、特征选择
    大数据应用技术课程实践--选题与实践方案
    手写数字识别-小数据集
    深度学习-卷积
  • 原文地址:https://www.cnblogs.com/rechin/p/10244447.html
Copyright © 2011-2022 走看看