Игнорировать определенные атрибуты при сравнении двух файлов json
Я успешно использовал JSONAssert для сравнения двух таких ответов json:
JSONAssert.assertEquals(response2.getResponseBodyContent(), response1.getResponseBodyContent(), JSONCompareMode.LENIENT)
Теперь мне нужно игнорировать определенные атрибуты, как описано здесь:
Игнорировать определенные узлы / атрибуты при сравнении двух JSON. Мой новый оператор:
JSONAssert.assertEquals(response2, getResponseBodyContent(), new CustomComparator(JSONCompareMode.LENIENT, new Customization("EffectiveEpochDate", (o1, o2) -> true)));
и я получаю следующие ошибки:
java.lang.Error: Unresolved compilation problems:
Groovy:expecting ')', found ',' @ line 51, column 154.
Groovy:expecting ')', found '->' @ line 51, column 160.
Groovy:expecting ')', found '->' @ line 51, column 160.
Groovy:expecting '}', found '->' @ line 51, column 160.
Groovy:expecting '}', found '->' @ line 51, column 160.
Я использую инструмент тестирования под названием Katalon, который поддерживает java/groovy. Любой вклад будет оценен. Спасибо
1 ответ
Решение
Код, на который вы ссылаетесь, использует лямбда-синтаксис Java (который наверняка не поддерживается до Groovy 2.5 включительно). Вместо этого вы должны пройти закрытие. Например, очередь
(o1, o2) -> true
в:
{a, b -> true}