如何使unittest2和coverage.py协同工作?

21 投票
4 回答
8723 浏览
提问于 2025-04-16 01:42

你怎么才能让 unittest2coverage.py 一起正常工作呢?

理论上,像下面这样

coverage run unit2 discover 

应该是可以的,但现在却出现了错误。

如果你是 nose 的用户,那就相当于在使用 nosetests --with-coverage

4 个回答

3

我在使用Windows的时候也遇到了同样的问题。

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

我怀疑这和不同操作系统在处理系统路径和Python路径的方式有关(我猜安德鲁是在用Linux?)。不管怎样,coverage run 有一个 -m 选项,可以让你运行一个模块,而不是一个脚本。这是我使用的方法:

coverage run -m unittest2 discover
5

这可能是与你的安装有关,因为对我来说一切正常。

coverage run unit2 discover

接下来生成覆盖率信息。

coverage html

然后生成一个HTML报告(这是几种报告格式之一),并且

open htmlcov/index.html

查看结果。

(我回答这个问题是因为这是“unittest2覆盖率”的热门搜索,我不想让人们因为没有答案而感到失望。)

47

试试这个:

coverage run -m unittest discover

对我来说是有效的。

撰写回答