我有一个班级:
public class MyCustomObject {
private String field1;
private String field2;
}
我创建了 MyCustomObject :
的数组MyCustomObject[] array = new MyCustomObject[]{new MyCustomObject()};
我的目标是使用hamcrest匹配器验证此数组的元素。我尝试了以下方法:
assertThat(array, allOf(hasItemInArray(hasProperty("field1", equalTo("value1")))), hasItemInArray(hasProperty("field2", equalTo("value2")))));
但不幸的是,它不起作用。
可以通过哪种方式验证自定义对象的数组?
答案 0 :(得分:0)
我会将您的数组更改为ArrayList
仅用于测试目的:
List<MyCustomObject> customObjects = Arrays.asList(array);
如果列表中存在预期的项目,则使用Hamcrest hasItems
Matcher断言:
assertThat(customObjects, hasItems(myCustomObject1, myCustomObject2));
答案 1 :(得分:0)
您是否尝试过在课堂上添加getter?这对我有用。
public class MyCustomObject {
private String field1;
private String field2;
public String getField1() {
return field1;
}
public String getField2() {
return field2;
}
}