我通过定制匹配器找到了解决方案:
class DateEquals extends BaseMatcher<Integer> {
private final Date expectedValue;
DateEquals(Date equalArg) {
expectedValue = equalArg;
}
@Override
public boolean matches(Object item) {
Long dateTimeMillis = (Long) item;
return dateTimeMillis.equals(toEpochMillis(expectedValue));
}
@Override
public void describeTo(Description description) {
description.appendValue(" equals to date: " + expectedValue);
}
}
IT工厂:
public class CustomMatchersFactory {
public static Matcher dateEquals(Date date) {
return is(new DateEquals(date));
}
}
用途:
.andExpect(jsonPath("$.content.[*].startDate", dateEquals(MY_INSTANT_DATE)));