我正在使用 Devel::Cover 来看看我们的测试套件实际上测试我们的代码库的效果如何。我运行我们所有的测试-MDevel::Cover
似乎都没有失败或崩溃,但是覆盖表的 HTML 输出对于我们所有的模块都有如下条目:
列出的BEGIN
s 数量似乎与use Module::X
源文件中的语句数量相匹配,但确实使 HTML 输出变得混乱。有什么办法可以禁用此功能?我在教程或 Github 问题跟踪器中没有看到任何提及。
我正在使用 Devel::Cover 来看看我们的测试套件实际上测试我们的代码库的效果如何。我运行我们所有的测试-MDevel::Cover
似乎都没有失败或崩溃,但是覆盖表的 HTML 输出对于我们所有的模块都有如下条目:
列出的BEGIN
s 数量似乎与use Module::X
源文件中的语句数量相匹配,但确实使 HTML 输出变得混乱。有什么办法可以禁用此功能?我在教程或 Github 问题跟踪器中没有看到任何提及。
原因是“使用”是“完全等价于”
BEGIN { require Module; Module->import( LIST ); }
(参见perldoc -f use。)
然后“BEGIN”与“sub BEGIN”基本相同——如果你愿意,你可以把“sub”放在那里。见perldoc perlmod
。
所以你真正拥有的是一个子程序,这Devel::Cover
就是报告。
像 的许多部分一样Devel::Cover
,perl 的实现细节,或者至少是语义,正在泄漏。没有办法阻止这种情况,尽管我愿意接受这方面的变化。