我在测试中有一段代码,使用 Hamcrest 2.2 检查结果列表是否包含某些属性:
assertThat(result.getUsers(), hasItem(
hasProperty("name", equalTo(user1.getName()))
));
assertThat(result.getUsers(), hasItem(
hasProperty("name", equalTo(user2.getName()))
));
Run Code Online (Sandbox Code Playgroud)
当NameDto是普通班级时,这工作得很好。但是在我将其更改为 a 之后Record,HamcresthasProperty抱怨没有名为 的属性name:
java.lang.AssertionError:
Expected: a collection containing hasProperty("name", "Test Name")
but: mismatches were: [No property "name", No property "name"]
Run Code Online (Sandbox Code Playgroud)
是否有其他匹配器可以用来实现与以前相同的匹配?或者我可以使用其他一些解决方法来让它处理记录?