【发布时间】:2020-12-27 23:01:53
【问题描述】:
我的任务是清理一些写得不好但测试数量惊人的遗留代码。其中一些测试在如下文件中运行代码:
fcgi/*.fcgi
我非常希望将这些内容包含在我的报道报告中。事实上,我很想确保我可以在 lib/、fcgi/ 和 utils/ 中包含 everything(无论扩展名如何),而 nothing 在任何其他目录。
这是我的众多尝试之一:
HARNESS_PERL_SWITCHES=-MDevel::Cover=+inc,fcgi,+inc,lib,+inc,util prove -rl t
失败!
I've also tried creating simple Build.PL or Makefile.PL scripts 并在我运行诸如“cover -test”或“./Build testcover”之类的东西时不断收到“未定义测试”。
这是 Devel::Cover 0.88 和 perl 版本 5.12.2
【问题讨论】:
-
您能否创建一个包含 makefile.pl、一些 .t 文件和一个普通 .pm 以及一些其他正在调用但未正确覆盖的文件的最小测试用例 tarball?如果我有,我相信我可以为您提供正确的配置。
-
Mithaldu:我刚刚创建了它。 PM我你的邮箱,我发过去。谢谢!
-
(不完全相同,但对于通过 Google 找到此内容的其他人)在类似的情况下,我添加了 Test::UseAllModules 以提取我所有的 lib/**/*.pm 文件。这样
cover -test就知道所有这些,包括那些未经测试的。 This article by David Farrell 展示了如何基于 glob 提取其他文件。
标签: perl testing devel-cover