相关疑难解决方法(0)

如何使用 Java 记录断言 hasProperty?

我在测试中有一段代码,使用 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)

是否有其他匹配器可以用来实现与以前相同的匹配?或者我可以使用其他一些解决方法来让它处理记录?

java unit-testing hamcrest java-record java-16

11
推荐指数
2
解决办法
510
查看次数

标签 统计

hamcrest ×1

java ×1

java-16 ×1

java-record ×1

unit-testing ×1