В моем случае мне нужно запросить набор имен из двух разных систем и убедиться, что они равны (независимо от порядка). Скорее всего, я чего-то не понимаю, но этот код работает нормально:
assertThat(asList(assertThat(firstJSON)
.flatExtracting("innerObject")
.extracting("name")).stream().map(Object::toString).collect(Collectors.toList()))
.containsExactlyElementsOf(
asList(assertThat(secondJSON)
.flatExtracting("innerObject")
.extracting("name")).stream().map(Object::toString).collect(Collectors.toList()));
, но это выглядит ужасно, и мне нужно что-то вроде этого:
assertThat(firstJSON)
.flatExtracting("innerObject")
.extracting("name")
.containsExactlyElementsOf(
assertThat(secondJSON)
.flatExtracting("innerObject")
.extracting("name"));
Я пробовал много функций, таких как isSubsetOf()
или containsOnly()
, также я пробовал ставить кастинг здесь и там, но всегда вылавливал какое-то исключение / ошибку.
Как их сравнить?
assertThat(getNamesOutOf(firstJSON)).isEqualTo(getNamesOutOf(secondJSON))
. Мы могли бы помочь в реализацииgetNamesOutOf()
, если бы знали тип и структуру firstJSON и secondJSON. - person JB Nizet   schedule 14.05.2017