【发布时间】:2009-12-07 09:45:57
【问题描述】:
我有一个Test::More 用于我们制作的模块的测试脚本。单独运行测试脚本时,它按预期工作。
由于我们需要运行几个测试,我创建了一个运行所有脚本的Test::Harness 文件。但是,当从 Test::Harness runtests 执行时,脚本会返回错误。
在调试过程中,我尝试使用 backtics 运行脚本,并且成功了。所以 runtest 命令导致了错误。
线束的代码非常简单:
(perl) -w
use strict;
use warnings;
use Test::Harness;
my @tests = ('test1.pl', 'test2.pl', 'test3.pl');
runtests(@tests);
错误源自我们使用的 cpan 模块,Pod::HtmlEasy。
我希望的解决方案是运行Test::Harness 而不会出现错误。
测试的输出:
正则表达式中的 test1........False [] 范围“\w-”;由第 20 行标记。 在 /app/perl/lib/Pod/HtmlEasy/Parser.pm 第 422 行第 20 行的字符串 ne 中使用未初始化的值。 在 /app/perl/lib/Pod/HtmlEasy/Parser.pm 第 363 行第 22 行的字符串 ne 中使用未初始化的值。 正则表达式中的 False [] 范围“\w-”;由第 22 行标记。 在 /app/perl/lib/Pod/HtmlEasy/Parser.pm 第 488 行第 24 行的字符串 ne 中使用未初始化的值。 在 /app/perl/lib/Pod/HtmlEasy/Parser.pm 第 363 行第 26 行的字符串 ne 中使用未初始化的值。 close() 在 /app/perl/lib/Pod/HtmlEasy.pm 第 248 行的未打开文件句柄 PODIN 上。 在 /app/perl/lib/Pod/HtmlEasy.pm 第 318 行的连接 (.) 或字符串中使用未初始化的值。 (...) 在 /app/perl/lib/Pod/HtmlEasy.pm 第 396 行的连接 (.) 或字符串中使用未初始化的值。 test1........在 /app/perl/lib/Pod/HtmlEasy.pm 第 248 行的未打开文件句柄 PODIN 上确定 2/3close()。 在 /app/perl/lib/Pod/HtmlEasy.pm 第 318 行的连接 (.) 或字符串中使用未初始化的值。 (...) 在 /app/perl/lib/Pod/HtmlEasy.pm 第 396 行的连接 (.) 或字符串中使用未初始化的值。 测试1........好的【问题讨论】:
-
您尝试更新 Pod::HtmlEasy 了吗?这些天似乎正则表达式看起来有所不同,并且更改文件说最新版本修复了“克服看似随机的 CPAN 测试失败”。
-
@Manni;谢谢,这似乎是一个前进的方向。我们使用的是原始开发人员的最后一个版本,即 2004 年的 0.07。使用最新版本确实引入了一些我们需要解决的其他问题……比如一些非向后兼容的更改。前进一步,后退一步。 :) 无论如何,谢谢。
标签: perl unit-testing testing