containTheSameElementsAs 如何在 specs2 中工作

How does containTheSameElementsAs work in specs2

此代码不匹配。这是正确的吗?

List(1, List(2, 3, List(4)), 5) must containTheSameElementsAs(List(5, List(List(4), 2, 3), 1))

错误信息如下:

[error]   x be available for elements in a sequence
[error]    List(1, List(2, 3, List(4)), 5)
[error]      is missing: List(List(4), 2, 3)
[error]      must not contain: List(2, 3, List(4)) (specs2test.scala:98)

containsTheSameElementsAs 匹配器仅深入一层,因此在您的嵌套列表中匹配失败 List(2, 3, List(4)) != List(List(4), 2, 3)。在使用此匹配器之前简单地展平嵌套对象可能会更好。