如何更改" lib"中的默认Module :: Build / Test :: More目录。别的什么?

时间:2014-02-20 21:06:00

标签: perl unit-testing devel-cover module-build test-more

使用这个Post中的目录和文件架构进行Perl单元测试和代码覆盖(btw非常有帮助),我将运行单元测试和代码覆盖的文件复制到一个新的“ lib“目录,它就像一个魅力!

但是,我需要模块查看现有的“脚本”目录..

我已经梳理了CPAN上的Module :: Build文档,但我仍然得到无法找到文件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();

UPDATE!

还试过这个..

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 /..,但仍然不是我需要的东西..

UPDATE!

一个黑客工作的排序,但现在它为我做了诀窍..

#!/bin/bash

mv scripts lib
perl ./Build.pl
perl ./Build testcover
mv lib scripts
firefox cover_db/coverage.html

我运行此脚本来更改目录名称,运行tests / coverage并更改目录名称......任何人都有更好的想法?

1 个答案:

答案 0 :(得分:1)

你目前无法告诉Module :: Build使用“lib”以外的其他目录(我查看了Module :: Build的源代码,lib似乎是非常难编码的。)

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

ln -s scripts lib

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