Где мы должны предоставить детали RestAPI при использовании огурца

Где уместно указать RestAPI детали при использовании cucumber? т. е. в файле функций или в файле определения шага?


person GaurZilla    schedule 29.05.2017    source источник


Ответы (3)


RestAPI на самом деле не является частью бизнес-проблемы, которую вы решаете. Rest не является вашей основной функцией. Это всего лишь один технический способ использования реальной функциональности, которую вы создаете.

Поэтому я бы не стал описывать RestAPI в файлах функций, используя Gherkin. Я бы спрятал эти детали реализации в связующем коде, соединяющем примеры, написанные на Gherkin, с тестируемой системой.

person Thomas Sundberg    schedule 30.05.2017
comment
Спасибо за ваш ответ. Где должны быть предоставлены заглушенные данные, необходимые для наших тестовых случаев? В файле определения шага или функции? А как насчет того, что RestAPI меняется, должны ли мы поддерживать файл свойств, чтобы код не менялся слишком часто? - person GaurZilla; 30.05.2017
comment
Я бы сохранил любые данные, необходимые по техническим причинам, в определениях шагов. Данные, которые действительно имеют бизнес-значение, должны войти в сценарии. Я бы не стал усложнять, добавляя файл свойств. Я бы жил с изменениями в определениях шагов. Они будут незначительными по сравнению с изменениями в коде, реализующем REST API. - person Thomas Sundberg; 01.06.2017

Cucumber — это инструмент для общения между группами людей в бизнесе, с которым вы работаете.

Если вы работаете над проектом в одиночку, меньше необходимости описывать функции на языке бизнеса (хотя это полезно для формулирования идей с использованием мышления BDD).

Мой совет, храните файлы функций без кода, CSS или любых других вещей, которые могут сбить с толку непрофессионала. Вместо этого переместите их в файл определения шага и опишите, что вы делаете, в терминах, понятных непрофессионалу.

person KyleFairns    schedule 29.05.2017

Вы должны сохранить его в файле step_definitions. Храните весь код, помеченный для шагов огурца в файле функций в папке step_definitons, внутри которой вы создаете файл. Всегда лучше хранить файлы функций без кода, они в основном предназначены для лучшего понимания процесса тестирования и бизнес-сценариев, а также для наилучшей практики, когда вы смотрите на это с точки зрения BDD.

Если значения вашего API часто меняются, вы также можете указать значения в шагах огуречного корнишона и передать их в качестве аргумента в файл step_definitions. Чтобы любое изменение значений можно было обрабатывать в самом файле функций, в «двойных кавычках», вместо того, чтобы каждый раз обращаться к коду.

Кстати, что gem вы используете для тестирования REST API? Airborne?

person Emjey    schedule 30.05.2017