如何更改Python (2.7) unittest的测试描述

4 投票
1 回答
1797 浏览
提问于 2025-04-16 13:30

看起来在Python 2.7中,unittest模块发生了很大的变化。

我有一个测试案例:

class DemoTest(unittest.TestCase):
  def test_foo(self):
      """Test foo"""
      pass

控制台输出是:

测试 foo ... 成功

但在升级到Python 2.7后,控制台输出变成了:

test_foo (testcase.demotest.DemoTest)

测试 foo ... 成功

第一行的描述没什么用,我想隐藏它,但不知道该怎么做。

1 个回答

5

既然你已经花时间为你的测试写了文档字符串,那么额外的输出看起来就有点多余了。下面是一种可以隐藏这些额外输出的方法;你需要把它加到你的测试文件的顶部:

from unittest.runner import TextTestResult
TextTestResult.getDescription = lambda _, test: test.shortDescription()

撰写回答