Какова лучшая практика для проверки ответа REST, который содержит несколько соответствующих полей в cucmber / gherkin?Мы используем контуры сценариев, поэтому все параметры параметризируются с помощью таблиц примеров.
Вот несколько подходов, которые я рассмотрел:
Самый простой подход - просто добавить каждое поле в виде столбца в таблице примеров.,Но это быстро стало очень нечитаемым, так как таблица примеров переполнила ширину экрана, и мы получили почти дюжину шагов в каждом сценарии формы: And the <fieldName> should be <value>
.Это очень многословно и, очевидно, отходит от духа Gherkin, предназначенного для напоминания естественного языка.
Затем я рассмотрел вопрос о том, как поместить тело ответа целиком в файл в формате JSON и проверить его за один шаг, например And the response matches <file containing expected response>
(таблица примеров будет содержать путь к файлу).Однако это делает очень непрозрачным именно то, что я проверяю в тесте, поскольку действительные поля и значения данных скрыты в другом файле.Более того, я читал, что этапы тестирования не должны касаться точного формата данных (JSON, XML или чего-либо еще).
После этого я прочитал в этой статье используется вертикальныйТаблица после шага, чтобы указать несколько полей.В результате получается что-то вроде этого:
And the response contains:
| field1 | value1 |
| field2 | value2 |
Однако я не был уверен в том, как это параметризировать.Отдельные атомарные значения входят в столбец таблицы примеров, но как насчет другой таблицы?Я изучал, поддерживаются ли вложенные таблицы, но кажется, что некоторые люди считают, что это нечитабельно и плохая практика .
Итак, какова общая рекомендация для этого сценария?Для параметризованного сценария какой подход обеспечивает наилучший баланс между удобочитаемостью на естественном языке и точной передачей ваших ожиданий?