【发布时间】:2016-02-24 03:28:03
【问题描述】:
类A;
public class A {
Integer value;
Integer rate;
Boolean checked;
}
我正在构建一个这样的自定义匹配器;
Matchers.hasItems(allOf(
hasProperty("value", equalTo(value)),
hasProperty("rate", equalTo(rate))))
检查A 列表中是否包含"value" == value && "rate" == rate 列表
我遇到的问题是,当我将 Boolean 类型属性 checked 作为此 Matcher 的约束时,它总是会失败并显示错误消息 property "checked" is not readable。
Matchers.hasItems(allOf(
hasProperty("value", equalTo(value)),
hasProperty("rate", equalTo(rate)),
hasProperty("checked", equalTo(checked))))
是否与布尔类型字段的 getter 方法有某种关系?前缀是 is 而不是 get,如果不是 boolean 而是 Boolean,可能是 Hamcrest 无法使用 is 前缀作为 getter输入字段。
另外,我应该补充一点,我无法修改类A 的结构,因此我被Boolean 类型字段卡住了。
【问题讨论】: