2

使用这篇关于 Perl 单元测试和代码覆盖率的帖子中的目录和文件架构(顺便说一句,这非常有帮助),我将运行单元测试和代码覆盖率的文件复制到一个新的“lib”目录中,它的工作方式类似于魅力!

但是,我需要该模块在现有的“脚本”目录中查找..

我已经梳理了CPAN上的 Module::Build 文档,但仍然出现Can't find file 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

我运行这个脚本来更改目录名称,运行测试/覆盖并改回目录名称......有人有更好的想法吗?

4

1 回答 1

1

您目前不能告诉 Module::Build 使用“lib”以外的其他目录(我查看了 Module::Build 的源代码,lib似乎很难编码。)

您可以创建一个符号链接:

ln -s scripts lib

这将允许 Module::Build 找到它。

于 2014-03-20T18:28:27.287 回答