NoseTest:运行 覆盖范围来自 Python 脚本

NoseTest: running with coverage from Python script

我想从 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' 关键字:

http://nose.readthedocs.org/en/latest/usage.html#using-plugins

您的代码已全部设置 - 您需要通过 运行ner 启用覆盖。简单地运行鼻子像这样:

nosetests --with-coverage

这里还有更多选项:

http://nose.readthedocs.org/en/latest/plugins/cover.html

仅供参考,您可能需要运行以下内容才能获得覆盖包:

pip install coverage 

见鬼!经过 Nose Test 的一些小调试后,我成功地做到了!

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])