微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在开发过程中测试perl模块的正确方法是什么?

我正在开发一个个人Perl模块来构建一个基本的脚本框架,并帮助我学习更多有关该语言的知识.我通过命令行工具 modulemakerExtUtils::ModuleMaker创建了一个名为“AWSTools :: Framework”的新模块.我试图找出在开发过程中测试它的合适方法.

创建的目录结构包括以下内容

./AWSTOOLS/Framework/lib/AWSTools/Framework.pm
./AWSTOOLS/Framework/t/001_load.t

自动生成的001_load.t文件如下所示:

# -*- perl -*-

# t/001_load.t - check module loading and create testing directory

use Test::More tests => 2;

BEGIN { use_ok( 'AWSTools::Framework' ); }

my $object = AWSTools::Framework->new ();
isa_ok ($object,'AWSTools::Framework');

如果我尝试直接运行脚本(从命令行或在我的TextMate编辑器中),它将失败:

Can't locate AWSTools/Framework.pm in @INC....

如果我尝试在./AWSTOOLS/Framework目录中运行prove,它也会失败.

问题是:在开发Perl模块时运行测试的正确方法是什么?

解决方法

如果你想运行一个测试文件,你需要告诉perl在哪里找到你的模块,就像你对任何其他程序一样.我使用 blib自动添加正确的路径:

$perl Makefile.PL; make; perl -Mblib t/some_test.t

你也可以用证明来做同样的事情.我不使用证明,但你可以阅读它的文档来弄清楚. -b开关应该这样做,但我遇到的问题是没有做正确的事情(可能只是我自己的愚蠢).

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐