java - Hamcrest 匹配器返回项目而不是可迭代的项目
问题描述
我正在尝试将测试验证为:
assertThat("array_field", row.getArray("count_to_six_agg") ,
containsInAnyOrder(Arrays.asList(1L,2L,3L,4L,5L,6L)));
这里 containsInAnyOrder(Arrays.asList(1L,2L,3L,4L,5L,6L)) 返回
可按任何顺序迭代项目 [<[1, 2, 3, 4, 5, 6]>]
我希望它返回
仅项目 [<[1, 2, 3, 4, 5, 6]>]。
怎么可能呢?
解决方案
public static <T> Matcher<java.lang.Iterable<? extends T>> containsInAnyOrder(T... items)
并且只传递了一个元素 - 一个列表。
您需要将每个元素作为单独的参数传递:
containsInAnyOrder(1L,2L,3L,4L,5L,6L)
推荐阅读
- java - 如何使用按钮在标签中显示结果
- java - 根据属性名称动态调用 Get 方法
- python - iloc 函数在 iris 数据集中做了什么?
- python - Python set 和 dict 在迭代时如何知道下一个元素,因为它没有索引?
- android - Android房间从列中查找行
- java - 使用命令提示符/终端启动 Java 可执行文件 - 批处理/Shell/命令文件
- .net-core - 如何将 c# dotnet core 3.1 微服务流绑定到涡轮服务器流
- linux - 卸载 Linux Brew 后摆脱 bash 登录消息
- java - 如何在我现有的项目中使用 AgoraLive 完整 SDK
- c# - 如何在 Unity 中实现像这款游戏一样的玩家运动?