如何修复Net :: Amazon :: MechanicalTurk的失败测试?

时间:2009-03-31 13:56:15

标签: perl mechanicalturk

我在Debian Linux上使用Perl 5.10.0(测试)并尝试安装Perl模块Net::Amazon::MechanicalTurk 1.01版。当我运行模块的测试套件时,我会收到如下错误:

t/01-ListOperations.......................Can't locate object method "new" via package "Net::Amazon::MechanicalTurk::Transport::RESTTransport" at /home/user/.cpan/build/Net-Amazon-MechanicalTurk-1.01-BO885C/blib/lib/Net/Amazon/MechanicalTurk/Transport.pm line 21. 
dubious 
[...] 
Failed 21/33 test scripts. 12/78 subtests failed. 
Files=33, Tests=78, 46 wallclock secs ( 1.50 cusr +  0.22 csys =  1.72 CPU) 
Failed 21/33 test programs. 12/78 subtests failed. 

Net::Amazon::MechanicalTurk::Transport::RESTTransport ISA Net::Amazon::MechanicalTurk::Transport其中ISA Net::Amazon::MechanicalTurk::BaseObject有一个子“new”。

我已安装了所有必需的模块,由mturk_install.pl脚本验证。我已经检查了模块的CPAN页面上的问题,但是没有解决这些错误。

有没有人遇到过这些问题并提出任何解决方案?如果您成功使用此模块,您正在运行哪个版本的Perl?

6 个答案:

答案 0 :(得分:4)

答案 1 :(得分:2)

答案 2 :(得分:2)

我已经构建了一个小补丁来帮助解决这个问题。库的内部逻辑出错,导致所有模块无法正常加载。在http://daveviner.blogspot.com/2009/12/amazon-mechanical-turk-perl-library.html

上查看补丁和我的说明

答案 3 :(得分:1)

我在RT队列中应用了Dave Viner的补丁和两个补丁。在my CPAN directory中有一个版本为1.01_01的未经授权的版本。我将检查CPAN测试人员对修复程序的响应,并在此之后正式发布。如果您是原作者,请与我联系。

答案 4 :(得分:1)

我知道这是旧帖子,但即使在新的1.02版本中,它仍然是一个问题。很容易修复 - 只需从lib / Net / Amazon / MechanicalTurk / ModuleUtil.pm的第35行删除“已定义”即可完成。显然,亚马逊的每个人都运行旧版本的Perl。

答案 5 :(得分:0)

根据CPAN测试人员的说法,与Net::Amazon::MechanicalTurk一起使用的最新版Perl是5.8.9。我构建了一个本地副本,用于此特定模块。