4

我正在使用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
...
4

3 回答 3

5

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

def __str__(self):
    return __name__ + "." + self.__class__.__name__ + "." +  self._testMethodName

随意修改返回字符串。

于 2013-08-27T07:58:00.103 回答
5

正如 jorispilot 建议的那样,您可以更改项目中的每个 TestCase。或者,您可以通过创建一个实现 describeTest的鼻子插件来改变鼻子的行为。请参阅StackOverflow 上的这个问题,了解实现目标的确切方法。

于 2013-08-27T20:50:28.697 回答
0

可能值得注意的是,将文档字符串添加到您的单元测试会在您运行它们时更改输出......

def test_an_empty_string_is_false(self):
    """Test that an empty string == False"""
    self.assertFalse("")

Test that an empty string == False ... ok当您以冗长的方式运行鼻子测试时会产生。

于 2018-04-17T13:47:13.167 回答