Поэтому мне интересно, почему два объекта терпят неудачу в моем модульном тесте (Junit 5), когда они создаются по-разному.
Первый способ:
static ObjectMapper mapper = new ObjectMapper();
JsonNode output = mapper.convertValue(jsonTransform, JsonNode.class);
Второй способ:
JsonNode expectedOutput = mapper.readTree(jsonString);
И затем утверждается:
Assertions.assertEquals(expectedOutput, output);
Ошибка:
is org.opentest4j.AssertionFailedError: expected: com.fasterxml.jackson.databind.node.ObjectNode@d6e7bab<jsonString> but was: com.fasterxml.jackson.databind.node.ObjectNode@5fa07e12<jsonString>
Далее, если я затем отредактирую утверждение так:
Assertions.assertEquals(expectedOutput, mapper.readTree(output.toString()));
Это пройдет. Итак, какая концепция приводит к провалу первого утверждения?