Я использую JSON Unit для сравнения двух ответов json.Однако UUID являются динамическими каждый раз, поэтому ответы всегда будут разными, следующее ниже не игнорирует «id» и всегда помечает это как различное.
private void assertWithIgnore(String endpoint, String expected, int code) throws IOException {
try {
response.then()
.statusCode(code)
.contentType(ContentType.JSON);
if (compare) {
assertJsonEquals(response.asString(),
resource("expected/" + expected),
JsonAssert.whenIgnoringPaths("item[*].id"));
} else {
Assert.fail("Not comparing response, write direct to file!");
}
} catch (AssertionError error) {
FileUtils.writeStringToFile(getResultFile(expected), response.prettyPrint());
failures.put(baseURL + basePath + endpoint, response);
throw error;
}
}
Вот небольшой пример JSON:
{
"item": [
{
"id": "1",
"title": "Hello"
}
]
}