Открыть список
Как стать автором
Обновить

Комментарии 3

Сомневаюсь, что сообщение "did not expect to find [true] but found [false]" сильно понятнее вышеприведенных. Во первых, оно капитанско-очевидное ("не ожидали X, но нашли не X" ~= "не ожидали X, но не нашли X" ~= "ожидали X, но нашли X"), во-вторых, задачу понять, что вместо числа пришел объект оно совершенно не решает.

Абсолютно с вами согласен, про капитанскую часть ошибки «did not expect to find [true] but found [false]», но это дефолтный текст, который предоставляет TestNG, в то же время другая часть ошибки «Element [jsonrpc] is not a JsonPrimitive.» — описана мной и поможет сориентироваться в том с каким именно ключем проблема и какого она характера. Если разобрать ситуацию на указанном примере — элемент jsonrpc не соответствует ожидаемому типу JsonPrimitive, при этом его фактический тип можно будет увидеть в ответе на запрос который вы проверяете, или передать проверяемую часть ответа(или весь ответ\или связку запрос-ответ) в параметр для кастомной части ошибки если есть желание вывести максимальное количество информации непосредственно в результате сравнения.
Как вариант, можно проверять содержимое с помощью JSON схем. Разные проверки указываются в схеме разными способами, и в зависимости от ошибки придёт то или иное сообщение об ошибке.
Есть библиотеки для разных языков. Для Java из доступных на GitHub мне больше всего понравилась разработка Everit, которая поддерживает современные стандарты или драфты JSON схем (не только версию 4, но также 6 и 7).
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.