小编Nar*_*ren的帖子

如何处理Perl脚本和模块的代码覆盖?

我有一个处理我的Perl脚本的代码覆盖的独特要求.

我编写了一些Perl脚本,而这些脚本又使用了一些Perl模块.我的要求是使用它们支持的不同选项运行这些Perl脚本,并评估Perl脚本和Perl模块的代码覆盖率.

所以我使用Devel::Cover,Module::BuildTest::More从CPAN.如果我直接在测试脚本中调用Perl模块中的函数,那就太好了.但是如果我直接调用脚本它就无法工作(在这种情况下,我没有使用Perl模块和脚本的代码覆盖生成).

这是我使用Test :: More的示例测试脚本:

use strict;
use warnings;
use Test::More; 

BEGIN { plan tests => 1 }

ok(sub {
   my @args = ("ex4200fw","-query-fw","-i","192.168.168.1");
   #print "# Executing @args \n";
   `@args`;
   my $rc = $? >> 8;
   #print "# Return code: $rc \n";
   $rc == 1
}->(),"Query Juniper EX4200 FW, incorrect IP address.\n");
Run Code Online (Sandbox Code Playgroud)

这里ex4200fw(在路径中)是由我编写的Perl脚本,后者又调用依赖模块updates.pm.

  • 我们是否有任何工具可满足此要求?
  • 运行Perl脚本并获取脚本及其相关模块的代码覆盖率?
  • 我们可以使用上面的CPAN模块完成相同的操作吗?

任何示例脚本对我都很有用.

perl code-coverage

2
推荐指数
1
解决办法
868
查看次数

标签 统计

code-coverage ×1

perl ×1