用于覆盖率报告的nose2插件,包括子进程和多进程
nose2-cov的Python项目详细描述
此插件生成覆盖率报告。它还支持子流程的覆盖。
应通过NOSE2 COV或 通过覆盖的配置文件。
安装
使用pip安装:
pip install nose2-cov
注意
确保使用pip而不是easy_install,因为后者不能正确安装 子流程测量所需的init_cov_core.pth文件。
卸载
使用pip进行卸载:
pip uninstall nose2-cov pip uninstall cov-core
注意
确保手动删除站点包目录中的init_cov_core.pth文件。
此文件在站点初始化期间启动子进程的覆盖范围集合(如果适用) 在python启动时。
用法
以下将报告主流程及其所有子流程的组合覆盖范围:
nose2 --with-cov testfoo
显示终端报告:
---------- coverage: platform linux2, python 2.7.1-final-0 ----------- Name Stmts Miss Cover ----------------------------- testfoo 17 9 47%
报告
可以为单个测试运行生成报告的任意组合。
可用的报告包括终端(显示或不显示缺少行号)、HTML、XML和 带注释的源代码。
不带行号的终端报告(默认):
nose2 --with-cov --cov-report term testfoo ---------- coverage: platform linux2, python 2.7.1-final-0 ----------- Name Stmts Miss Cover ----------------------------- testfoo 17 9 47%
带有行号的终端报告:
nose2 --with-cov --cov-report term-missing testfoo ---------- coverage: platform linux2, python 2.7.1-final-0 ----------- Name Stmts Miss Cover Missing --------------------------------------- testfoo 17 9 47% 1-6, 9, 11, 13, 17, 19
剩下的三个报告输出到文件(当输出变成连续的 集成服务器):
nose2 --with-cov --cov-report html --cov-report xml --cov-report annotate testfoo
覆盖率数据文件
数据文件在测试开始时被删除,以确保每次测试运行都有干净的数据。
数据文件留在测试结束时,这样就可以使用普通的覆盖工具 检查一下。
覆盖率配置文件
这个插件提供了添加到nose2的一组干净的最小命令行选项。为了 进一步控制覆盖使用覆盖配置文件。
例如,如果测试包含在正在测量的目录树中,则测试可以是 如果需要,可通过使用.coveragerc文件并设置“忽略”选项来排除:
nose2 --with-cov --cov-config .coveragerc testfoo
.coveragerc文件包含文件globs:
[run] omit = tests/*
有关详细信息,请参阅coverage config file文档。
注意,这个插件控制一些选项,并且在配置文件中设置选项将没有 效果。其中包括指定要测量的源(源选项)和所有数据文件处理 (数据文件和并行选项)。
限制
对于子流程度量,环境变量必须使其从主流程到 子流程。子进程使用的python必须安装nose2 cov。子进程必须 进行正常的站点初始化,以便能够检测到环境变量并覆盖 起动。
致谢
虽然这个插件是从头开始构建的,但它受到所做工作的影响 Pytest Coverage(Ross Lawley,James Mills,Holger Krekel)和Nose Coverage(Jason Pellerin)上 其他覆盖插件。
Ned Batchelder的覆盖率及其合并并行运行的覆盖率结果的能力。
Holger Krekel for Pytest及其分布式测试支持。
杰森·佩林的鼻子。
UnitTest2的MichaelFoord。
毫无疑问,其他人也为这些工具做出了贡献。