在某些代码覆盖率工具中,您可以隐藏"来自coverage工具的某些代码行,以便这些行不计入覆盖总数。例如,某些代码可能仅在难以或无法测试的情况下运行(例如某些硬件故障)。因此,即使某些代码未被执行,您也可能获得100%的报告。
暂时搁置这是否明智,Perl的Devel::Cover
是否可以做到这一点?
(Devel::Cover
可以忽略整个文件,但我有兴趣忽略单个文件中的几行。)
答案 0 :(得分:4)
许多不可移植的代码功能已经实现但是没有记录,因为我不确定接口。然而,自那个领域发生任何变化以来已经过了几年。
查看如何使用这些功能的最简单方法可能是查看分发中的测试/不可移动(请参阅https://github.com/pjcj/Devel--Cover/blob/master/test/uncoverable)。如果您不能或不想更改代码,可以使用.uncoverable文件(请参阅https://github.com/pjcj/Devel--Cover/blob/master/tests/.uncoverable)和工具提及的封面选项。
如果你这样做,请务必使用basic_html报告,如果你将它标记为不可移动但是它仍然会被执行,那么它会将构造标记为错误。
我真的应该整理一下并记录下来。
答案 1 :(得分:2)
根据CPAN上的TODO file,目前不支持此功能,但开发人员认为这是一个有价值的补充:
- 增强:
- 标记无法访问的代码 - 命令行工具和gui。
cover
脚本提到了有前途的选项:-add_uncoverable_point
和-delete_uncoverable_point
。