博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
修改testtools框架,将测试结果显示用例注释名字
阅读量:6801 次
发布时间:2019-06-26

本文共 2295 字,大约阅读时间需要 7 分钟。

在之前介绍的测试框架中,发现测试结果中显示的都是测试用例的函数名,并没有将注释显示出来

这很不符合国人使用阿,没办法,自己动手来改改吧

首先,testtools是继承unittest的一个工具,所以应该存在unittest TestCase的相关函数

 

看看testtools.testcase原码吧,发现,不显示注释的奥秘在这里

class TestCase(unittest.TestCase):    """Extensions to the basic TestCase.    :ivar exception_handlers: Exceptions to catch from setUp, runTest and        tearDown. This list is able to be modified at any time and consists of        (exception_class, handler(case, result, exception_value)) pairs.    :ivar force_failure: Force testtools.RunTest to fail the test after the        test has completed.    :cvar run_tests_with: A factory to make the ``RunTest`` to run tests with.        Defaults to ``RunTest``.  The factory is expected to take a test case        and an optional list of exception handlers.    """............def shortDescription(self):        return self.id()

原来这里没显示注释,那来改改吧,直接上代码

def __init__(self, *args, **kwargs):        """Construct a TestCase.        :param testMethod: The name of the method to run.        :keyword runTest: Optional class to use to execute the test. If not            supplied ``RunTest`` is used. The instance to be used is created            when run() is invoked, so will be fresh each time. Overrides            ``TestCase.run_tests_with`` if given.        """        runTest = kwargs.pop('runTest', None)        super(TestCase, self).__init__(*args, **kwargs)        self._reset()        test_method = self._get_test_method()        if runTest is None:            runTest = getattr(                test_method, '_run_test_with', self.run_tests_with)        self.__RunTest = runTest        self._testMethodDoc = test_method.__doc__

这里,加入最后一行

self._testMethodDoc = test_method.__doc__
def shortDescription(self):        #return self.id()        doc = self._testMethodDoc        return doc and doc.split("\n")[0].strip() or None

这里再改成这样。

再次运行,结果如下:

======================================================================FAIL: i dont konw----------------------------------------------------------------------_StringException: Traceback (most recent call last):  File "test_case\testtools_learn.py", line 34, in test_case_2    assert 2 == 3AssertionError----------------------------------------------------------------------

很好,显示为用例的注释名了。

 

转载于:https://www.cnblogs.com/landhu/p/9068694.html

你可能感兴趣的文章
java调用cmd命令并捕获执行结果字符串的代码
查看>>
Eclipse中android sdk升级ADT版本过低解决办法
查看>>
MDT 2013 从入门到精通之无法分析或处理pass[specialize]文件
查看>>
桌面支持--512-Rear chassis fan not detected
查看>>
Django 开源相册组件介绍 django-photologue
查看>>
IntelliJ IDEA 14 创建Web项目
查看>>
Redis server命令
查看>>
PeerConnection
查看>>
关于ext-js 中的自定义校验
查看>>
服务端response对象属性和方法
查看>>
护眼色
查看>>
Understanding Java Lambdas
查看>>
Java_基本数据类型
查看>>
Linux下安装JDK
查看>>
axis2报错:The following error occurred during schema generation: null
查看>>
Spring boot ServletRequest 修改header
查看>>
查看CentOS版本信息
查看>>
GPU应用程序Attach调试记录
查看>>
JS this指向详解
查看>>
es6 let使用总结
查看>>