更改nosetests的详细报告格式

war*_*iuc 4 python nose nosetests

nosetests在详细模式下运行我的测试:

....
test_cache_region (tests.test_sysutil.TestCachedMethodDecorator) ... ok
test_expire (tests.test_sysutil.TestCachedMethodDecorator) ... ok
test_lru (tests.test_sysutil.TestCachedMethodDecorator) ... ok
test_max_capacity (tests.test_sysutil.TestCachedMethodDecorator) ... ok
test_DecimalJSONEncoder (tests.test_util.UtilTestCase) ... ok
test_cdecimal_support (tests.test_util.UtilTestCase) ... ok
test_ceil_with_ndigits (tests.test_util.UtilTestCase) ... ok
test_switch_keyboard (tests.test_util.UtilTestCase) ... ok
...
Run Code Online (Sandbox Code Playgroud)

有没有办法轻松地将报告格式更改为:

...
tests.test_sysutil.TestCachedMethodDecorator.test_lru ... ok
tests.test_sysutil.TestCachedMethodDecorator.test_max_capacity ... ok
tests.test_util.UtilTestCase.test_DecimalJSONEncoder ... ok
tests.test_util.UtilTestCase.test_cdecimal_support ... ok
...
Run Code Online (Sandbox Code Playgroud)

小智 5

您需要以下列方式覆盖TestCase类的str方法:

def __str__(self):
    return __name__ + "." + self.__class__.__name__ + "." +  self._testMethodName
Run Code Online (Sandbox Code Playgroud)

根据您的意愿修改返回字符串.


dbn*_*dbn 5

正如jorispilot建议的那样,您可以更改项目中的每个TestCase.或者,您可以通过创建实现describeTest 的Nose插件来改变鼻子的行为.在StackOverflow上查看此问题,了解要实现目标的确切配方.