为什么可以';t Perl在我的t/目录中找到库了吗?
我在当前目录/t中有一个.pm文件,我插入了以下代码行:为什么可以';t Perl在我的t/目录中找到库了吗?,perl,Perl,我在当前目录/t中有一个.pm文件,我插入了以下代码行: use lib qw(.); 然后我插入了这行代码 use TestUtil.pm; 其中TestUtil.pm位于当前目录中,但我一直收到以下错误: 在@INC中找不到TestUtil.pm(@INC包含:……。(注意@INC包含当前目录) TestUtil.pm: 测试XXX.t: 我做错了什么?尝试从“use…”语句中的模块名称中删除.pm。尝试从“use…”语句中的模块名称中删除.pm。您是否已将TestUtil.pm声明为T
use lib qw(.);
然后我插入了这行代码
use TestUtil.pm;
其中TestUtil.pm位于当前目录中,但我一直收到以下错误:
在@INC中找不到TestUtil.pm(@INC包含:……。(注意@INC包含当前目录)
TestUtil.pm
:
测试XXX.t
:
我做错了什么?尝试从“use…”语句中的模块名称中删除.pm。尝试从“use…”语句中的模块名称中删除.pm。您是否已将TestUtil.pm声明为TestUtil模块
# in your TestUtil module...
package TestUtil;
编辑:
您的Perl模块(TestUtil.pm)是否返回状态?请尝试将其添加到TestUtil.pm文件的末尾:
1;
您是否已将TestUtil.pm声明为TestUtil模块
# in your TestUtil module...
package TestUtil;
编辑:
您的Perl模块(TestUtil.pm)是否返回状态?请尝试将其添加到TestUtil.pm文件的末尾:
1;
在TestUtil.pm中
包TestUtil 使用严格;使用警告 开始{使用导出器();使用 vars qw($VERSION@ISA@EXPORT) )) #为版本设置版本 检查
$VERSION=1.00;@ISA= qw(出口商);@EXPORT=qw )} 使用变量qw($VERSION@ISA@EXPORT) sub_a{return 1;}
在测试中XXX.t
use lib '.';
use t::TestUtil;
使用libqw(.); 严格使用; 使用警告 使用TestUtil TestUtil.pm中的
包TestUtil 使用严格;使用警告 开始{使用导出器();使用 vars qw($VERSION@ISA@EXPORT) )) #为版本设置版本 检查
$VERSION=1.00;@ISA= qw(出口商);@EXPORT=qw )} 使用变量qw($VERSION@ISA@EXPORT) sub_a{return 1;}
在测试中XXX.t
use lib '.';
use t::TestUtil;
使用libqw(.); 严格使用; 使用警告 使用TestUtil
如果您是这样运行测试的: 证明——lib t 那么,您的工作目录实际上是一个高于t的级别/ 所以在您的包中(源文件
t/TestUtil.pm
)
在你的测试中
use lib '.';
use t::TestUtil;
我在几个CPAN模块中见过这种方式。如果您是这样运行测试的: 证明——lib t 那么,您的工作目录实际上是一个高于t的级别/ 所以在您的包中(源文件
t/TestUtil.pm
)
在你的测试中
use lib '.';
use t::TestUtil;
我在几个CPAN模块中看到过这样做。哦,很抱歉,我最初没有.pm。我还尝试了要求“/TestUtil.pm”不起作用(是的,这一个有一个.pm)。哦,很抱歉,我最初没有.pm。我还尝试了要求“/TestUtil.pm”不起作用(是的,这一个有一个.pm)你能粘贴这两个Perl文件的标题(比如,前10行左右)吗?如果我们能看到它,这将更容易帮助解决问题:)请编辑原始帖子以包含所有相关代码(没有错误),并删除下面的回复。谢谢可以粘贴这两个Perl文件的标题(比如前10行左右)吗?如果我们能看到它,帮助解决问题会更容易一些:)请编辑原始帖子以包含所有相关代码(无错误),并删除下面的回复。谢谢所以我有:#在我的TestUtil.pm文件中。。。包TestUtil;严格使用;使用警告;在我的test_XXX.t文件中的sub a{}#。。。使用libqw(.);使用TestUtil;你能把代码粘贴到你原来的问题里吗?很难想出包含更多信息的潜在解决方案。因此我有:#在我的TestUtil.pm文件中。。。包TestUtil;严格使用;使用警告;在我的test_XXX.t文件中的sub a{}#。。。使用libqw(.);使用TestUtil;你能把代码粘贴到你原来的问题里吗?很难想出包含更多信息的潜在解决方案。只是一个礼节问题:最好在问题的原始来源中发布问题的任何更新。这样,当其他可能的解决方案获得支持时,您的回答不会丢失。对不起。字符限制不允许我将其作为评论。请参阅我的原始帖子——另一个快速的想法。当我复制你的代码时,这对我很有用。@Kys,最好编辑你的原始问题。我喜欢使用“编辑”语句来显示我的答案被修改的地方。这只是一个礼节:最好在问题的原始来源中发布问题的任何更新。这样,当其他可能的解决方案获得支持时,您的回答不会丢失。对不起。字符限制不允许我将其作为评论。请参阅我的原始帖子——另一个快速的想法。当我复制你的代码时,这对我很有用。@Kys,最好编辑你的原始问题。我喜欢使用“编辑”语句来显示我的答案被修改的地方。这是一个很好的观点:了解脚本是如何被调用的以及模块位于何处会很有帮助。这很有效!事实上,我的工作目录高于t/。谢谢史努比、贝德维尔和卡伯格!这是一个很好的观点:了解脚本是如何被调用的以及模块位于何处会很有帮助!事实上,我的工作目录高于t/。谢谢史努比、贝德维尔和卡伯格!