unittest彩色输出

And*_*rea 39 python unit-testing

我使用unittest(实际上unittest2)为Python测试,加上Python的模拟的嘲讽对象和鼻子运行在单次所有测试.

我想念绿色/红色条纹一眼就能分辨出什么在起作用,什么是错的.有没有办法从unittest获得彩色输出?

(此时更改测试套件不是一个选项,我实际上喜欢unittest)

mes*_*shy 25

使用一种非常类似于罗伯特答案的方法,我(今天!)发布了一个能够在unittest测试结果中实现颜色输出的软件包.我已经打电话了colour-runner.

要安装它,请运行:

pip install colour-runner
Run Code Online (Sandbox Code Playgroud)

然后,在您使用的地方unittest.TextTestRunner,请colour_runner.runner.ColourTextTestRunner改用.

看看它的外观verbosity=1 ......和verbosity=2


Dav*_*vid 20

我在鼻试红鼻子方面取得了很大的成功.在写这篇文章的时候它仍然保持着.

  • easy_install对我来说失败了,但是pip工作正常:`sudo pip install rednose` (2认同)
  • 简单,它适用于python 3,谢谢! (2认同)

小智 13

在python 2.x中你可以试试pyrg.但是在Python 3中不起作用.


rob*_*ert 9

创建一个继承自unittest.TestResult(例如MyResults)的类并实现一堆方法.然后创建一个继承自unittest.TextTestRunner(例如MyRunner)和重写的类_makeResult()来返回一个实例MyResults.

然后,构建一个测试套件(您可能已经开始工作),然后调用MyRunner().run(suite).

你可以把你喜欢的任何行为,包括颜色,放入MyResults.


Jea*_*ado 9

如果您以这种方式运行 pytest:

python -m unittest test_my.py
Run Code Online (Sandbox Code Playgroud)

将其更改为:

pytest test_my.py
Run Code Online (Sandbox Code Playgroud)

并且您可以免费获得颜色


Har*_*rel 7

pytest可以做到这一点,而无需对单元测试进行任何更改。

在此处输入图片说明

现在安装pytest。

pip install --user pytest
Run Code Online (Sandbox Code Playgroud)

并运行测试以查看颜色!

在此处输入图片说明