如何让unittest2
和coverage.py
一起工作?
在理论上类似
coverage run unit2 discover
应该有效,但目前只是出错了。
如果您是nose
用户,则相当于nosetests --with-coverage
。
答案 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
指定您要运行的那个。