Как лучше проверять множество полей в огурце / огурце? - PullRequest
0 голосов
/ 17 октября 2018

Какова лучшая практика для проверки ответа 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 |

Однако я не был уверен в том, как это параметризировать.Отдельные атомарные значения входят в столбец таблицы примеров, но как насчет другой таблицы?Я изучал, поддерживаются ли вложенные таблицы, но кажется, что некоторые люди считают, что это нечитабельно и плохая практика .

Итак, какова общая рекомендация для этого сценария?Для параметризованного сценария какой подход обеспечивает наилучший баланс между удобочитаемостью на естественном языке и точной передачей ваших ожиданий?

...