Игнорировать определенные атрибуты при сравнении двух файлов 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}
Другие вопросы по тегам