gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-28 19:52:01 25 4
gpt4 key购买 nike

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

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

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

The autogenerated 001_load.t file looks like this:

# -*- 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....

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

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

最佳答案

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

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

您也可以使用prove 来做同样的事情。我不使用prove,但你可以阅读它的文档来弄明白。 -b 开关应该可以做到这一点,但我遇到了它没有做正确事情的问题(可能只是我自己的白痴)。

关于perl - 在开发过程中测试 perl 模块的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8783008/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com