更改nosetests的详细报告格式

2024-10-03 19:26:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在详细模式下使用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
...

是否有一种方法可以轻松地将报告格式更改为这样:

^{pr2}$

Tags: testcacheutil模式testsoknosetestsregion
3条回答

您需要按照以下方式重写TestCase类的str方法:

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

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

值得注意的是,在单元测试中添加doc字符串将在运行它们时更改输出。。。在

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

当您以冗长的方式运行nosetests时,将生成Test that an empty string == False ... ok。在

正如jorispilot建议的那样,您可以更改项目中的每个测试用例。或者,您可以通过创建实现describeTest的a Nose plugin来更改nose的行为。请参阅this question on StackOverflow以获得实现目标所需的确切配方。在

相关问题 更多 >