我在详细模式下使用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
...
有没有办法轻松将报告格式更改为:
...
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
...
答案 0 :(得分:5)
您需要以下列方式覆盖TestCase类的 str 方法:
def __str__(self):
return __name__ + "." + self.__class__.__name__ + "." + self._testMethodName
随意修改返回字符串。
答案 1 :(得分:5)
正如jorispilot建议的那样,您可以更改项目中的每个TestCase。或者,您可以通过创建实现describeTest的a Nose plugin来改变鼻子的行为。请参阅this question on StackOverflow了解要实现目标的确切配方。
答案 2 :(得分:0)
值得注意的是,在单元测试中添加doc字符串会在运行时更改输出...
def test_an_empty_string_is_false(self):
"""Test that an empty string == False"""
self.assertFalse("")
当你运行详细程度的鼻子测试时,会产生Test that an empty string == False ... ok
。