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