我想编写一个比较两个列表的单元测试。我尝试使用 hamcrest 来获得良好的可读性和错误消息,但由于某种原因,这无法编译:
List<GDSRecord> expectedRecords = getReferenceRecords(...);
List<GDSRecord> aktualRecords = gdsNetlist.getRecords();
assertThat(aktualRecords, hasItems(expectedRecords.toArray()));
另一方面,这确实可以编译:
assertThat(asList("a", "b"), hasItems(new String[]{"a"}));
有人可以解释一下这里的区别吗?我不明白..., 谢谢!
最佳答案
有可能,
expectedRecords.toArray()
会将其转换为Object[]
,您可以将其更改为使用 List.toArray(T[] a)
expectedRecords.toArray(new GDSRecord[0])
它应该可以工作。
关于java - 与 hamcrest 比较列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53665661/