在某些代码覆盖率工具中,您可以从覆盖率工具中“隐藏”某些代码行,以便这些行不计入覆盖率总数。例如,某些代码可能仅在难以或无法测试的情况下运行(例如某些硬件故障)。因此,即使未执行某些代码,您也可能会报告 100% 的覆盖率。
暂且不说这是否明智,Perl 的这种事情可能Devel::Cover
吗?
(Devel::Cover
可以忽略整个文件,但我有兴趣忽略单个文件中的几行。)
在某些代码覆盖率工具中,您可以从覆盖率工具中“隐藏”某些代码行,以便这些行不计入覆盖率总数。例如,某些代码可能仅在难以或无法测试的情况下运行(例如某些硬件故障)。因此,即使未执行某些代码,您也可能会报告 100% 的覆盖率。
暂且不说这是否明智,Perl 的这种事情可能Devel::Cover
吗?
(Devel::Cover
可以忽略整个文件,但我有兴趣忽略单个文件中的几行。)
已经实现了许多可发现的代码功能,但由于我不确定接口,因此没有记录它们。然而,该领域的任何变化已经过去了几年。
了解如何使用这些功能的最简单方法可能是查看发行版中的测试/不可覆盖(请参阅https://github.com/pjcj/Devel--Cover/blob/master/test/uncoverable)。如果您不能或不想更改代码,您可以使用 .uncoverable 文件(请参阅https://github.com/pjcj/Devel--Cover/blob/master/tests/.uncoverable)和封面工具中提到的选项。
如果您这样做,请务必使用 basic_html 报告,如果您将构造标记为可发现但仍会执行,该报告会将构造标记为错误。
我真的应该把所有东西都整理好并记录下来。
根据 CPAN 上的TODO 文件,目前不支持此功能,但开发人员认为这是一个有价值的补充:
- 增强功能:
- 标记无法访问的代码 - 命令行工具和 gui。
该cover
脚本提到了有希望的选项:-add_uncoverable_point
和-delete_uncoverable_point
.