我有一堂课:
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")))));
但不幸的是,它不起作用。
可以通过哪种方式验证自定义对象的数组?
最佳答案
我仅出于测试目的将数组更改为ArrayList
:
List<MyCustomObject> customObjects = Arrays.asList(array);
然后,如果列表中存在预期的项目,则用Hamcrest
hasItems
Matcher断言:assertThat(customObjects, hasItems(myCustomObject1, myCustomObject2));