“更多断言”的做事方式是:
Map expectedData = Collections.singletonMap("key", "value");
asssertThat(data, is(expectedData));
请注意:
>也许你需要类型提示来调用singletonMap
>除了匹配器之外,还有其他匹配器可以让您检查数据是否包含“预期”的地图数据
对于你的具体问题:这是因为泛型在这里发挥作用;使用(String)data.get(“key”) – 告诉编译器“实际”参数是String类型可能就足够了.
最后 – 我不知道你的问题是什么.我写下这段代码:
public void test() {
Map data = new HashMap<>();
data.put("key", "value");
assertThat(data.get("key"), is("value"));
Map expectedData = Collections.singletonMap("key", "value");
assertThat(data, is(expectedData));
}
编译很好,单元测试运行并通过.换句话说:实际上我无法重现你的问题.