使用这篇关于Perl单元测试和代码覆盖率的帖子中的目录和文件架构(顺便说一句,这非常有用),我将运行单元测试和代码覆盖的文件复制到一个新的"lib"目录中,它就像一个魅力!
但是,我需要该模块在现有的"脚本"目录中查找。
我已经梳理了 CPAN 上的模块::构建文档,但我仍然收到找不到文件 lib/processBuildSubs.pm 错误
这是我到目前为止所拥有的...
use strict;
use Module::Build;
my $newBuild = Module::Build->new(
module_name => 'processBuildSubs',
license => 'perl',
dist_abstract => 'processBuildSubs Unit Test',
dist_author => 'me@myemail.com',
build_requires => {
'Test::More' => '0.10',
},
);
$newBuild->create_build_script();
更新!
也刚刚尝试了这个..
my $newBuild = Module::Build->new(
module_name => 'scripts::processBuildSubs',
pm_files => {'processBuildSubs.pm' => 'lib/processBuildSubs.pm'},
license => 'perl',
dist_abstract => 'processBuildSubs Unit Test',
dist_author => 'me@myemail.com',
build_requires => {
'Test::More' => '0.10',
},
);
我想有一些进展,它似乎正在寻找lib/scripts/..,但仍然不是我需要的..
更新!
有点黑客工作,但现在它为我做了诀窍。
#!/bin/bash
mv scripts lib
perl ./Build.pl
perl ./Build testcover
mv lib scripts
firefox cover_db/coverage.html
我运行此脚本来更改目录名称,运行测试/覆盖率并将目录名称更改回来......有人有更好的主意吗?
您目前无法告诉 Module::Build 使用"lib"以外的其他目录(我查看了 Module::Build 的源代码,lib
似乎很难编码。
您可以创建一个符号链接:
ln -s scripts lib
这将允许 Module::Build 找到它。