Найти в Дзене
Tester's sandbox

Gherkin. Функции, Правила, Примеры

Оглавление

Описывать бизнес-кейсы на таком языке, который будет понятен и человеку, далекому от программирования, и машине, далекой от естественного языка - это отличная идея. В ее реализации помогает Gherkin - человеко-читаемый язык, структура которого делает его понятным и для машины.

Главное правило языка: каждая значимая с точки зрения исполнения кода строка должна начинаться с одного из ключевых слов. Все строки, которые не начинаются с ключевого слова, никак не интерпретируются.

Основных ключевых слов немного:

- Функция
- Правило
- Пример (или Сценарий)
- Дано, Когда, Тогда, И, Но
- Предыстория
- Структура сценария
- Примеры

Существуют и вторичные ключевые слова:

- " " - в кавычки обычно заключаются пояснения, фрагменты документации и т.д.
- | - используется для создания таблиц с данными
- @ - для тэгов
- # - для комментариев

Функция

Функция предваряет высокоуровневое описание какой-либо функции ПО (или группирует несколько сценариев)

Функция должно быть первым ключевым словом в любом документе на языке Gherkin. После него следует двоеточие и небольшой текст - описание функциональности.

Ниже слова Функция может идти дополнительный текст в произвольном формате - описание. Оно будет игнорироваться программой.

Функция: Угадай слово
Игра "Угадай слово" рассчитана на 2 игроков. Ведущий загадывает
слово, а Игрок отгадывает его. Игра заканчивается, когда Игрок
отгадал слово, загаданное Ведущим

Пример функции и дополнительного описания

Описания могут сопровождать не только Функции, но и Сценарии, Предыстории, Структуры сценария и Правила.

Правило

Ключевое слово Правило используется перед описанием бизнес-правил, которые должны выполняться. Это дает дополнительную информацию к Функции. Правило используется, чтобы сгруппировать несколько сценариев, которые относятся к одному бизнес-правилу. Внутри Правила может находиться секция Предыстории, а также должен быть один или несколько сценариев.

Функция: Ниндзя
Правило: Остается только один
Предыстория:
Пусть было 3 ниндзя
Пример: Только один - Больше одного в живых
Пусть существует больше, чем 1 живой ниндзя
Когда встречаются 2 ниндзя, они сражаются
Тогда 1 ниндзя умирает
И в живых остается на 1 ниндзя меньше
Пример: <Название следующего примера>
<Описание примера>
Правило: Может остаться два (в некоторых случаях)
Пример: <Названиее еще одного примера>
...

Пример использования правила

Пример

Пример - это конкретная иллюстрация бизнес-правила. Он состоит из нескольких шагов.

Ключевое слово Сценарий - синоним слова Пример.

В Примере оптимально должно быть 3-5 шагов, хотя их количество может быть другим.

Пример - это одновременно и спецификация, и тест. В целом, Пример представляет собой выполняемую спецификацию системы.

Пример всегда строится по образцу:

- Исходное состояние системы
- События
- Целевое состояние системы