你如何让unittest2和coverage.py一起工作?

时间:2010-07-22 19:08:42

标签: python code-coverage unittest2

如何让unittest2coverage.py一起工作?

在理论上类似

coverage run unit2 discover 

应该有效,但目前只是出错了。

如果您是nose用户,则相当于nosetests --with-coverage

4 个答案:

答案 0 :(得分:36)

尝试:

coverage run -m unittest discover

适合我。

答案 1 :(得分:5)

这必须特定于您的安装,因为它适用于我

coverage run unit2 discover

然后生成覆盖信息

coverage html

生成HTML报告(多种报告格式之一)和

open htmlcov/index.html

查看结果。

(回答这个问题是因为这是“unittest2报道”的最佳选择,我不希望人们因缺乏任何答案而推迟。)

答案 2 :(得分:2)

我正在运行Windows并遇到同样的问题。

$ coverage run unit2 discover
No file to run: 'unit2'

我怀疑这与各种操作系统上系统路径和python路径的处理方式有何不同(我猜安德鲁正在运行linux?)。无论如何,coverage run采用-m选项,允许您运行模块而不是脚本。这就是我使用的:

coverage run -m unittest2 discover

答案 3 :(得分:1)

如果您安装了多个版本的coverage,请使用

coverage2 run -m unittest discover

coverage3 run -m unittest discover

指定您要运行的那个。