【问题标题】:Devel::Cover with options for test coverageDevel::Cover 带有测试覆盖选项
【发布时间】:2011-01-03 09:25:09
【问题描述】:

在一个项目中,我正在处理没有 lib 目录的目录布局,所以我们有

/X.pm
/X/Y.pm
...
/t/test.t

当我跑步时

$ PERL5OPT=-MDevel::Cover make test
$ cover

我只得到 t/ 中文件的报告

如何告诉 Devel::Cover 报告当前目录中除 t 中的文件之外的所有文件?

我认为我可以这样做:

cover -t +inc . -inc t

但我明白了:

Unknown option: inc
Invalid command line options at /home/gabor/perl5/lib/perl5/x86_64-linux-thread-multi/Devel/Cover/Report/Html_minimal.pm line 677.

来自the documentation,我不清楚如何提供这些选项。

【问题讨论】:

  • 我认为你应该在-MDevel::Cover 行中给出参数,就像在-MDevel::Cover=-dir,. 中一样。此外,我真的不认为inc 参数可以满足您的要求:它们指定要忽略 的文件,例如@INC 中的模块。不过我还没有测试过,这台机器上没有 D::C。
  • 问题被交叉发布到nntp.perl.org/group/perl.qa/2011/01/msg12662.html 并且已经在那里回答了。

标签: perl testing code-coverage


【解决方案1】:

cover 实际上并不生成覆盖率统计信息,仅报告 IIRC。

另外,+inc 似乎需要成为 PERL5OPT 的一部分(逗号分隔以使 -M 将它们传递给import(),例如-MDevel::Cover=+inc,"/sometething"

我可能是错的 - 我只在实际运行 .t 文件时使用 Devel::Cover,所以从未尝试过使用“目录中的所有模块”方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-08
    • 1970-01-01
    相关资源
    最近更新 更多