与 Shazamcrest可以通过提供字段路径和随后应用于该字段的匹配器来进行自定义匹配。
例如[cf] :
assertThat(
actualPerson,
sameBeanAs(expectedPerson).with("address.streetName", startsWith("Via"));
如果您要匹配集合,您如何执行相同的操作?您可以将自定义匹配器应用于集合中的每个对象吗?到集合中的所有对象?
最佳答案
假设 Shazamcrest 匹配器的工作方式与常规 Hamcrest 匹配器一样,您应该能够将它们与所有内置集合匹配器一起使用。
assertThat(
people,
contains(
sameBeanAs(expectedPerson).with("address.streetName", startsWith("Via")
)
);
文档说您必须使用包中的自定义 assertThat
。虽然这仅用于失败描述,但它可能会干扰某些匹配器的使用。
关于java - Shazamcrest 定制搭配系列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33235119/