actionscript-3 - AS3 Hamcrest - 断言一个数组包含另一个数组的全部

标签 actionscript-3 apache-flex unit-testing hamcrest

我正在尝试使用 Flashbuilder 4.7 环境附带的 Hamcrest 匹配器。我有 2 个数组,数组 A 和数组 B。我想要做的是确保在 A 中找到 B 的所有成员,无论顺序如何。我正在寻找类似这样工作的东西。

var a:Array = new Array( 1, 2, 3, 4);
var b:Array = new Array( 1, 2, 3, 4 );

//Both arrays contain the same values so this should
//return true
assertThat( a , hasEachAndEveryLastOneInsideOfIt(b));

现在我已经尝试过“allOf”和“hasItems”,但我不太能掌握语法。

最佳答案

这应该有效:

assertThat(a, hasItems.apply(null, b))

当然,这会检查 b 中的所有项目是否都包含在 a 中,这意味着 a 可以包含其他附加值。如果您想断言 ab 也具有相同数量的值,则 assertEquals(a.length, b.length) 为我觉得很好。

这里的技巧是使用 Function.apply() 因为 hasItems() 不需要数组,而是 ...rest 样式论据。

顺便说一句,allOf() 旨在为测试值创建匹配器列表。

关于actionscript-3 - AS3 Hamcrest - 断言一个数组包含另一个数组的全部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16072884/

相关文章:

flash - AS3 打印 @ 300 dpi - PrintJob

javascript - Actionscript 3 调用 javascript 函数

ios - iOS 上的 Adob​​e air - FileReference 下载错误

actionscript-3 - 在 Actionscript 3 中将秒数转换为分秒数

apache-flex - 弹性 : drawing a connector line between shapes

flash - 带有公共(public) getter 的内部 setter 不起作用

flash - 混合声音数据而无需在actionscript 3.0中播放

php - 我将如何对具有副作用的方法进行单元测试?

Angular6如何测试一系列http请求

unit-testing - 是否可以将 golang 单元测试结果打印到文件中?