在 Traits 中§
请参阅主要文档 在上下文中 以了解The is trait
proto trait_mod:<is>(Mu $, |)
is
适用于任何类型的标量对象,并且可以采用任意数量的命名或位置参数。这是最常用的 trait,并且根据第一个参数的类型采用以下形式。
在模块 Test 中§
请参阅主要文档 在上下文中 以了解sub is
multi is(Mu , Mu , = '')multi is(Mu , Mu , = '')
如果 $got
和 $expected
使用 eq
运算符 进行比较为正,则将测试标记为已通过,除非 $expected
是一个类型对象,在这种情况下将使用 ===
运算符;接受测试的可选描述作为最后一个参数。
注意: eq
运算符对其操作数进行字符串化,这意味着 is()
不是用于测试更复杂内容(例如列表)的好函数:is (1, (2, (3,))), [1, 2, 3]
通过测试,即使操作数有很大不同。对于这些情况,请使用 is-deeply
例程
my ; sub factorial() ; ...;is .author, "Joe", 'Retrieving the author field';is factorial(6), 720, 'Factorial - small integer';my Int ;is , Int, 'The variable $a is an unassigned Int';
注意: 如果值之间仅空格不同,则 is()
将以不同的方式输出失败消息,以显示每个值中的空格。例如,在下面的输出中,第二个测试在 got:
行中显示了文字 \t
is "foo\tbar", "foo\tbaz"; # expected: 'foo baz'# got: 'foo bar'is "foo\tbar", "foo bar"; # expected: "foo bar"# got: "foo\tbar"