首先,我认为有人需要重写我的问题,我知道我在问什么,而不是我应该如何准确地问它。
假设我有一些本地模块LOCAL::Commons
,它有一个名为globalTrim
. 我在下面测试那个子程序,虽然LOCAL::Commons
安装在下面/usr/local/lib/perl
,但我下面测试的模块位于目录中/home/me/perl/LOCAL/
。看看我是如何使用use lib ...
的,以确保我没有使用LOCAL::Commons
位于/usr/local/lib/perl
(我的路径上有这个目录)。
现在,如果LOCAL::Commons
正在使用另一个本地模块LOCAL::Cool
(即不是来自 cpan),并且我也对该模块进行了一些更改,我如何确保我的测试使用正确的模块?也就是说,我想LOCAL::Commons
使用/home/me/perl/LOCAL/Cool
而不是/usr/local/lib/perl/LOCAL/Cool
.
#!/usr/bin/perl
# test_local_commons.pl
# directory: /home/me/perl
use strict;
use warnings;
use Test::More 'no_plan';
use File::Temp qw( tempfile tempdir );
use Cwd qw();
use lib Cwd::abs_path();
# Testing
use LOCAL::Commons qw ( globalTrim );
sub newTest($) {
my $name = shift;
print "---------------------------------------------------\n";
print $name, "\n";
print "---------------------------------------------------\n";
}
sub testTraverse {
is(globalTrim(" - stackoverflow - ), "-stackoverflow-", "Passed" );
}
newTest "testTraverse"; testTraverse ();