如何使unittest2和coverage.py协同工作?
你怎么才能让 unittest2
和 coverage.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
对我来说是有效的。