用于覆盖率报告的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。

毫无疑问,其他人也为这些工具做出了贡献。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java迭代图形框架聚合达到内存限制的消息   反编译和开发人员向Android应用程序提供java安全密钥   活页夹中的java Vaadin上传组件,例如Crud编辑器   java如何定义0090当我有了每个字符   带有AOP的java截取私有注释方法   在Java中暂停并恢复动画(thread.sleep)   java在JavaFX中从不同的控制器向TableView添加行   java如何通过Spring使用脚本初始化inmemory HSQLDB   windows找到了绝对的java。通过编程从java代码获取exe路径   Java同步、信号量和队列的多线程性能   java异步任务回调未调用   java在迷宫中用坐标寻找最短路径   Java:并行处理数组,查找发生异常的位置   java我无法理解我收到的错误   如何调用。bat文件,并使用java中的ProcessBuilder发送字符串   java在mysql数据库中插入日期   将ArrayList的内容显示为格式正确的JSON for Java REST API   java@OneToMany注释SQLSyntaxErrorException:ORA000904无效标识符