English 中文(简体)
我怎样才能迫使Perl从测试目录中操作该单元?
原标题:How can I force Perl to run the module from the test directory only?
  • 时间:2009-10-01 07:26:06
  •  标签:

I have perl module file and test script pl which I use to run some function, and after browsing through the use lib and this previous question here... I still don t know how to do this.

基本 我有一个包含模块档案的生产目录,我有一个包含同一模块和测试文字档案的测试目录。 每当我试图操作文字档案时,它将自动把该单元放在名录中。 通过打印@INC,生产名录似乎设在该地。 因此,我试图通过利用这一方法予以删除。

no lib qw(prod_dir);

http://www.un.org/Depts/DGACM/index_french.htm 显示该名录已不复存在,在某种程度上,该书仍然称其他单元......

I know this probably sounds really dumb, but hope someone can help me see the light here :) thanks.

问题回答

在您有<代码>查询d 或>后,d 模块, 核对%INC,看其来自何处。

例如:

use Data::Dumper;
print $INC{ Data/Dumper.pm }."
";

注:“:”改为“,”和“m”。 这可能给你一个cl子。

认为目前的目录(......)通常是@INC上的条目。 但是,第一步是查明该模块从中装载的目录。

另一个值得记住的是,@INC的名录按顺序查询。 <代码> 校正/代码> 预支该名单(使其成为第一份研究目录),因此,你可能只是需要增加适当的名录。

您能更多地谈谈你试图做些什么,以及你如何努力这样做? 这是否体现在标准分配结构中? 如果你不使用标准分配结构,你能否向我们展示一份名录,以便我们知道什么情况? 您是否还可以列入你为设法装上模块而使用的守则? 当你把细节集中起来时,仅更新你原来的问题。

典型的情况是,我通过建筑经营人进行测试,自动设定了权利@INC

如果我想在我的分发中进行一次测试,我就使用<代码>blib模块查找有我模块开发版本的建筑图书馆:

 % perl -Mblib t/test.t

有些人在prove上做同样的事情。

如果你没有使用基本分配办法,就考虑使用。 工具和最佳技术依靠这一工具。

如果你仅拥有同一名录中的模块和测试文档,你是否尝试将目前的目录添加到@INC PERL5IB?





相关问题
热门标签