有没有一种方法可以将子字段的值与hamcrest进行比较?
class Obj{
NestedObj nestedObj;
}
class NestedObj{
String wantedProperty;
}
我有一个
List<Obj>
objs,我想测试所有Objs
的wantedProperty
值是否为“ wand”:List<Obj> objs = new ArrayList<Obj>();
Obj obj = new Obj();
NestedObj nestedObj = new NestedObj();
nestedObj.setWantedProperty("wanted");
obj.setNestedObj(nestedObj);
objs.add(obj);
assertThat(objs, hasItems(Matchers.<Obj>hasProperty("nestedObj.wantedProperty", hasValue("wanted"))));
但是nestedObj.wantedProperty不起作用。
如果可以的话,我该如何运作?
最佳答案
尝试这样的事情
assertThat(objs, hasItems(Matchers.<Obj>hasProperty("nestedObj", Matchers.<NestedObj>hasProperty("wantedProperty",equalTo("wanted")))));