【发布时间】:2020-03-30 01:21:14
【问题描述】:
我在复杂数组上编写测试,当我注意到缺少测试描述时,我正在使用 Z≅ 运算符检查数组是否大致相等。
我试图打出一段代码来找出显示我看到的结果的最简单的情况。即使我使用 Num 或 Int 变量和 Z== 运算符,第二个测试中也缺少描述。
use Test;
my @a = 1e0, 3e0;
my @b = 1e0, 3e0;
ok @a[0] == @b[0], 'description1'; # prints: ok 1 - description1
ok @a[^2] Z== @b[^2], 'description2'; # prints: ok 2 -
done-testing;
有简单的解释还是这是一个错误?
【问题讨论】:
-
请注意,测试:
ok @a[^2] Z== @b[^2]是假的,因为它总是没问题。因为您实际上是在测试结果中的元素数量,它始终是产生 2 个值的Seq。您需要检查Seq的所有值是否都是True,例如通过ok [&&] @a[^2] Z== @b[^2]