单元测试彩色输出

52 投票
9 回答
28954 浏览
提问于 2025-04-16 13:03

我在用 unittest(其实是 unittest2)来做Python的测试,同时还用 Python Mock 来模拟一些对象,还有 nose 来一次性运行所有的测试。

我希望能一眼看出哪些测试通过了,哪些测试失败了,像用绿色和红色的条来显示那样。有没有办法让unittest的输出变成有颜色的呢?

(现在换测试框架不太现实,而且我其实挺喜欢unittest的)

9 个回答

21

我在使用nosetests和rednose时取得了不错的效果。写这段话的时候,这个工具还在维护中。

31

我今天发布了一个新工具,它可以让你的 unittest 测试结果显示彩色输出,这个工具的使用方法和 robert的回答 很相似。我把它叫做 colour-runner

要安装这个工具,你只需要运行以下命令:

pip install colour-runner

然后,在你原本使用 unittest.TextTestRunner 的地方,改用 colour_runner.runner.ColourTextTestRunner

你可以看看 设置 verbosity=1 时的效果……还有 verbosity=2 的效果。

13

在Python 2.x版本中,你可以试试pyrg这个库。不过在Python 3中就不行了。

撰写回答