实际上,我正在测试一个集合的项目,该项目包含一个属性key equalTo("key")和一个属性value equalTo("value"),用两句话说明:

assertThat(categorizedFuaDto.getMetainfos(), contains(hasProperty("key", equalTo(receivedMetaInfoValue.getKey()))));
assertThat(categorizedFuaDto.getMetainfos(), contains(hasProperty("value", equalTo(receivedMetaInfoValue.getValue()))));


是否可以将它们合并为一个?

最佳答案

您可以尝试类似:

assertThat(
    categorizedFuaDto.getMetainfos(), hasItems(Matchers.<YourClass>
        hasProperty("key", equalTo(receivedMetaInfoValue.getKey())),
        hasProperty("value", equalTo(receivedMetaInfoValue.getValue()))
    )
);


此方法返回的类类型在哪里返回:categorizedFuaDto.getMetainfos()

请参见此处的示例:https://stackoverflow.com/a/33123568/3899529

但是我不确定这会给您带来什么好处而不是您的问题。保持您的测试尽可能简单和可读是很好的。

10-06 07:04