【问题标题】:How do I change the default Module::Build / Test::More directory from "lib" to something else?如何将默认 Module::Build / Test::More 目录从“lib”更改为其他目录?
【发布时间】:2014-03-22 02:11:47
【问题描述】:

使用Post 中关于 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

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

【问题讨论】:

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


    【解决方案1】:

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

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

    ln -s scripts lib
    

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

    【讨论】:

      猜你喜欢
      • 2014-07-20
      • 1970-01-01
      • 1970-01-01
      • 2016-02-09
      • 1970-01-01
      • 2011-10-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多