NoTest:使用Python脚本的覆盖率运行

NoTest:使用Python脚本的覆盖率运行,python,nose,coverage.py,python-coverage,Python,Nose,Coverage.py,Python Coverage,我想从Python脚本运行NoseTest。但我不仅要运行它,还要测量测试覆盖率 刚才我有以下代码: import os import sys import nose sys.path.append(os.path.dirname(os.path.abspath(os.path.dirname(__file__)))) import tests if __name__ == "__main__": config = nose.config.Config(verbosity=3, s

我想从Python脚本运行NoseTest。但我不仅要运行它,还要测量测试覆盖率

刚才我有以下代码:

import os
import sys
import nose

sys.path.append(os.path.dirname(os.path.abspath(os.path.dirname(__file__))))

import tests

if __name__ == "__main__":
    config = nose.config.Config(verbosity=3, stopOnError=False, argv=["--with-coverage"])
    result = nose.run(module=tests, config=config)

我应该添加什么来获取覆盖率报告?

编辑:要使用nose.run()运行插件,需要使用“plugins”关键字:

您的代码已经设置好了——您需要通过runner启用覆盖率。只需像这样运行鼻子:

nosetests --with-coverage
这里有更多选项:

仅供参考,您可能需要运行以下程序才能获得保险套餐:

pip install coverage 

是啊!经过一些小的鼻子测试调试后,我终于做到了

if __name__ == "__main__":
    file_path = os.path.abspath(__file__)
    tests_path = os.path.join(os.path.abspath(os.path.dirname(file_path)), "tests")
    result = nose.run(argv=[os.path.abspath(__file__),
                            "--with-cov", "--verbosity=3", "--cover-package=phased", tests_path])

我不想将nosetests作为应用程序运行:我必须在路径中没有nosetests的Windows机器上运行它。所以我应该从Python运行它。保险包已经安装好了。哎呀,没安装。您应该能够通过plugins关键字添加插件:它用于命令行使用。我只需要在Python代码中进行选择。“如果您从脚本中运行nose.main()或nose.run(),您可以通过传递带有plugins关键字参数的插件列表来指定要使用的插件列表。”哦,我也看到了。但没有一个例子可以证明如何通过考试。我尝试了
plugins=[“coverage”]
plugins=[“nose coverage”]
,但没有任何变化。也许你能给我正确的代码片段?