我正在使用hamcrest和junit进行测试,我需要比较2个具有相同项目但顺序不同的地图,因此assertEquals对我不起作用。 我已经看到了答案,但是我无法导入所需的方法。
我通过以下方式导入
import static org.hamcrest.collection.IsIterableContainingInAnyOrder.containsInAnyOrder;
import static org.junit.Assert.assertThat;
然后我尝试在答案中看到的第二件事
assertThat(expectedMap, containsInAnyOrder(receivedMap));
但无法识别方法assert那,IDE会向我显示一条警告,要求我创建方法
答案 0 :(得分:1)
Map
未实现Iterable
。因此,方法签名与推断的参数类型Map<?>
和Matcher<Iterable<?>>
不匹配。
答案 1 :(得分:0)
您导入了错误的assertThat
方法,您想要的是hamcrest中的方法:
import static org.hamcrest.MatcherAssert.assertThat;