这是我的代码:
my $self = shift;
my $h = shift;
print "$h\n";
my @headers = split /,/, $h;
foreach my $el (@{$expected}) {
my $t = shift @headers;
chomp ($t);
chomp ($el);
print Dumper($el cmp $t, $el, $t);
print "test: \'$el\' eq \'$t\' ";
unless ($el eq $t) {
print "not ok $el ne $t\n";
return 0;
} else {
print "ok\n";
}
}
return 1;
在我的第一个单元测试中,我将一个字符串传递给$ h,该字符串与$ expected相匹配。 然后进行单元测试,以确保在传递不匹配的字符串时函数失败。这两个测试的行为符合预期。
服务器,Jira项目,问题类型,摘要,描述,受让人,标签,史诗链接
$ VAR1 = 0;
$ VAR2 ='服务器';
$ VAR3 ='服务器';
测试:“服务器”等于“服务器”正常
当我从CSV文件中插入该行并将其传递给此函数时,我会得到不同的响应。
服务器,Jira项目,问题类型,摘要,描述,受让人,标签,史诗链接
$ VAR1 = -1;
$ VAR2 ='服务器';
$ VAR3 ='服务器';
测试:“服务器”等于“服务器”不好,服务器和服务器
某种程度上的比较意味着预期值比被测试的值要小。我立即想到要测试的内容一定要有前导或结尾字符。但是,打印和转储似乎无法确认这一点(除非我遗漏了某些内容)。排骨简直是绝望。
我想念什么?
答案 0 :(得分:4)
首先感谢@hobbs提供的$ Data :: Dumper :: Useqq = 1;建议。显而易见,有些主角我不知道如何检测。
$ VAR1 = -1;
$ VAR2 =“服务器”;
$ VAR3 =“ \ 357 \ 273 \ 277Server”;
我正在读取的CSV文件包含Byte Ordermarking信息。
我将它们剥离。谢谢大家让我再次前进。