【发布时间】:2015-10-07 08:48:45
【问题描述】:
我们想断言一个自定义对象列表包含一个对象,该对象的某些字段具有某些值,并带有一系列这样的断言
assertThat(customObjectList, hasItem(hasProperty("someField", equalTo(someValue))));
但是自定义对象也有布尔类型字段,其中 getter 方法有一个“is”前缀而不是“get”,并且断言似乎失败了
java.lang.AssertionError: Expected: a collection containing hasProperty("booleanField", <true>) but: property "booleanField" is not readable
是否有开箱即用的解决方案来克服这个问题,或者应该使用某种自定义匹配器来处理它?
【问题讨论】:
-
这应该适用于原始
booleans。您是在谈论BooleanObjects 吗? -
谢谢。实际上,这些字段是布尔类型。有问题的类实际上是 JPA/Hibernate 实体,其所有字段类型都是对象而不是原语。我们不能修改类本身,必须在测试中找到一些解决方案来规避它