Why does nosetests say --with-coverage is not an option?
我正在使用nose测试自动发现并运行我的单元测试。我还希望它生成覆盖率报告。
当我使用以下命令运行nose测试时,一切都很好
1 | nosetests . |
我在线查找生成覆盖率的项目,nosetests有一个命令行参数
1 2 3 4 | nosetests --with-coverage . Usage: nosetests [options] nosetests: error: no such option: --with-coverage |
我通过运行
再次检查了coverage插件是否已安装
1 | nosetests --plugins |
coverage与其他插件一起显示在列表中。
我也知道我已经安装了coverage,因为我可以使用类似以下内容的方式手动运行coverage数据收集:
1 | coverage run test.py |
我是否滥用--with-coverage选项?还是我还缺少其他东西?
预先感谢。
我从未使命令行选项起作用。我做了Janne Karila的建议,并在我的项目主目录中创建了setup.cfg文件。一旦有了该文件,我就可以不带任何参数地运行nose测试,一切都会运行。
在尝试创建文档时遇到的一个问题是我无法弄清楚配置中允许使用哪些参数。但是事实证明,可以使用此处列出的任何命令https://nose.readthedocs.org/en/latest/usage.html#options。只需在命令前保留双破折号即可。
作为参考,我当前的配置文件是
1 2 3 4 5 6 7 8 9 | [nosetests] verbosity=1 detailed-errors=1 with-coverage=1 cover-erase=1 cover-package=application cover-html=1 cover-html-dir=htmlcov where=tests |
此配置文件说使用覆盖率,擦除前一次运行的覆盖率,仅报告应用程序包中的文件以及将html报告输出到htmlcov目录。
希望这会在将来对其他人有所帮助。
从
https://github.com/nose-devs/nose/blob/release_1.3.7/nose/plugins/cover.py
看起来文档是从项目的
https://github.com/nose-devs/nose/blob/master/nose/plugins/cover.py
您可以做的是像这样从master分支安装
它将说它已经安装了
请记住您刚刚安装了
您的语法正确。这可能与您的环境有关,请仔细检查python环境以及安装了nose和覆盖物的位置。作为健全性检查,您可以快速设置一个新的virtualenv,安装nose,并使用coverage选项运行命令。