В настоящее время я борюсь с тем, как убедиться, что две карты имеют одинаковые ключи/значения в модульном тесте, игнорируя при этом некоторые ключи. Это должно применяться рекурсивно, так как значение на карте может снова быть картой, поэтому я хочу проверить все дерево.
Возможно, здесь будет полезен пример:
Map<String, Object> mapA = Map.of("foo", "bar", "description", "foobar", "submap", Map.of("subFoo", "subBar", "description", "subFooBar"));
Map<String, Object> mapB = Map.of("foo", "bar", "description", "barfoo", "submap", Map.of("subFoo", "subBar", "description", "subBarFoo"));
Эти 2 карты следует считать равными в отношении результата теста.
Я попытался решить это следующим способом, но, к сожалению, он не работает.
assertThat(mapA)
.usingRecursiveComparison()
.ignoringFieldsMatchingRegexes(".*description")
.ignoringFields("description")
.isEqualTo(mapB);
Кто-нибудь знает, как это решить?