为什么工作服会报告身体被覆盖时未涵盖的功能或方法?

时间:2015-01-19 12:17:10

标签: python unit-testing code-coverage coveralls

为什么工作服会报告身体被覆盖时未涵盖的功能或方法?

看一下https://coveralls.io/files/431523503#L433 - 覆盖了整个身体,但方法未标记为已覆盖。

我检查了另一个项目的覆盖范围,JavaScript,似乎它适用于这些,所以我怀疑这是一个错误,覆盖范围或配置。

更新:我开始相信这不是Coveralls的问题,而是pytest-cov的问题,因为即使生成的coverage.xml似乎也标记了成员定义和评论,而不是PyCharm所涵盖的(见第226行,没有理由)当全身被覆盖时,认为它没有被覆盖。)

enter image description here

2 个答案:

答案 0 :(得分:0)

工作服只突出显示已被告知的行

当上传源文件时,客户可以将每一行标记为是否覆盖,而工作服只是呈现它所提供的内容(参见API文档)

如果您的工具没有正确标记线条,则工作服不会渲染它

答案 1 :(得分:0)

我设法解决问题,这是由于我调用覆盖的方式,我在开始覆盖之前从模块导入了一些内容。

如果模块存在,则在运行时添加了覆盖率python setup.py test

看看https://github.com/pycontribs/jira/blob/master/setup.py - 你会发现我必须实现从模块中加载版本而不导入模块的技巧。

在开始覆盖之前导入模块将使您进入覆盖范围不完整或根本不运行的情况。