Я бы хотел убедиться, что ответ содержит следующие элементы с действительными датами:
[
{"id":"ID-1","created":"2019-01-08T12:46:08.508+01:00"},
{"id":"ID-2","created":"2019-01-08T12:46:08.554+01:00"},
{"id":"ID-3","created":"2019-01-08T12:46:08.565+01:00"},
{"id":"ID-4","created":"2019-01-08T12:46:08.565+01:00"}
]
Я проверил id
следующее выражение
String expected = "[{id:ID-1},{id:ID-2},{id:ID-3},{id:ID-4}]";
Но я не могу выполнить задачу проверки правильности дат:
Я пробовал что-то вроде:
JSONAssert.assertEquals(
expected,
actual,
new CustomComparator(
JSONCompareMode.STRICT,
new Customization("[0].created", new RegularExpressionValueMatcher<Object>(ISO8601_REGEX)),
new Customization("[1].created", new RegularExpressionValueMatcher<Object>(ISO8601_REGEX)),
new Customization("[2].created", new RegularExpressionValueMatcher<Object>(ISO8601_REGEX)),
new Customization("[3].created", new RegularExpressionValueMatcher<Object>(ISO8601_REGEX))
)
);
Следующее сообщение об ошибке является результатом (которого я не понимаю):
java.lang.AssertionError: [0]
Unexpected: created
; [1]
Unexpected: created
; [2]
Unexpected: created
; [3]
Unexpected: created
at org.skyscreamer.jsonassert.JSONAssert.assertEquals(JSONAssert.java:482)
at org.skyscreamer.jsonassert.JSONAssert.assertEquals(JSONAssert.java:464)
<snip: here the statement with JSONAssert... starts>