我在 mongo 中有需要验证的数据:
"items" : [
{
"item" : 0,
},
{
"item" : 1,
}
],
我的代码中有一个 for 循环:
for (Object a : getItems()){
HashMap<?, ?> b = (HashMap<?, ?>)a;
assertTrue(b.containsValue(0));
}
这里有一个问题,因为 items 的值为 1 和 0,如果它也包含 1,我需要为第二次迭代断言。如何验证 1 和 0 是否都存在?
有没有其他的断言方法可以做到这一点?
编辑:
List lt1 = new ArrayList();
lt1.add(0);
lt1.add(1);
List lt2 = new ArrayList();
for (Object a : getItems()){
HashMap b = (HashMap)a;
lt2.add(b.get("item");
}
assertThat(lt2, hasItems(lt1));
这会在 assertThat.. 行引发调用目标异常。此外,JUNIT 显示一个断言错误,如下所示:
Expected : A collection of [0,1]
Got : [0,1]