使用AssertJ,我可以检查Map是否具有引用值满足特定4
的键:
Consumer
是否可以使用Hamcrest检查给定键的特定@AllArgsConstructor
@Getter
public static class User {
private Long id;
private String name;
}
@Test
public void x() {
Map<String, User> map = new HashMap<>();
map.put("key", new User(123, "Random Hacker"));
Assertions.assertThat(map).hasEntrySatisfying("key", __ -> {
Assertions.assertThat(__.getName()).isEqualTo("Random Hacker");
});
}
值的条件(以及键/值的存在)?
注意 Map
已从3.6.0版(2016-11-21)添加到AspectJ。
答案 0 :(得分:1)
根据Using Hamcrest for testing - Tutorial,hamcrest中提供了hasEntry方法。
其用法如such:
In file included from DoSomething.cpp:8:0:
library.h:19:10: fatal error: header1.h: No such file or directory
#include <header1.h>
如果您需要更通用的匹配器,可以使用this方法:
示例:
org.hamcrest.MatcherAssert.assertThat(myMap, org.hamcrest.Matchers.hasEntry("bar", "foo"))
可以使用Hamcrest的许多匹配器中的任何一个或您自己的自定义匹配器来代替“ equalTo”。