测试覆盖率报告

使用此插件激活覆盖率报告。

要使用此插件,需要安装 nose2[coverage_plugin] .例如

$ pip install nose2[coverage_plugin]>=0.6.5

然后,您可以通过以下方式启用覆盖率报告:

$ nose2 --with-coverage

或者用这条线 unittest.cfg

[coverage]
always-on = True

您可以使用 .coveragerc 文件,由指定 Coverage Config . 但是,这样做时,您还应该注意 Differences From coverage .

配置 [新闻报道]

always-on
违约

类型

布尔

coverage
违约

[]

类型

列表

coverage-config
违约

类型

STR

coverage-report
违约

[]

类型

列表

示例配置

默认配置相当于在 unittest.cfg 文件。

[coverage]
always-on = False
coverage = 
coverage-config = 
coverage-report = 

命令行选项

--coverage PATH

测量文件系统路径的覆盖率(允许多个)

--coverage-report TYPE

生成所选报告,可用类型:term、term missing、annotate、html、xml(允许多个)

--coverage-config FILE

覆盖率的配置文件,默认值:.coveragerc

-C DEFAULT, --with-coverage DEFAULT

打开覆盖率报告

插件类引用:覆盖率

class nose2.plugins.coverage.Coverage(*args, **kwargs)[源代码]
afterSummaryReport(event)[源代码]

收集报告数据,确定并设置故障状态。现在打印从beforeSummaryReport保存的任何缓冲错误输出

beforeSummaryReport(event)[源代码]

仅在激活时调用,因此停止覆盖并生成报告。

createTests(event)[源代码]

尽早开始覆盖以捕获导入的模块。

仅在激活时调用,因此可以安全地在不检查标志的情况下启动

handleArgs(event)[源代码]

获取命令行中的选项,配置文件,硬编码。

wasSuccessful(event)[源代码]

将完全测试运行标记为成功或不成功

与保险范围的差异

这个 coverage 工具是Nose2报道的基础。nose2将试图模仿 coverage 尽可能的行为,但在已知的情况下,这是不可行的。

如果你需要 coverage ,考虑 coverage 援引 nose2 .

否则,请注意以下已知差异:

  • 这个 fail_under 参数导致的退出状态为2 coverage ,但退出状态为1 nose2

与mp插件兼容

这个 coveragemp 插件可以联合使用,以支持覆盖率报告的多进程测试。

特殊说明:

  • 由于插件在子进程中重新加载的方式,命令行选项 coverage 插件无效。如果你需要换衣服 coverage 插件选项,使用配置文件。

  • not 使用 concurrency a内的选项 .coveragerc 文件;这会干扰 coverage 插件,自动处理多进程覆盖率报告。