Что такое язык корнишонов?
Gherkin - это бизнес-читаемый язык, который помогает описывать бизнес-поведение, не вдаваясь в подробности реализации. Это предметно-ориентированный язык для определения тестов в формате Cucumber для спецификаций. Он использует простой язык для описания вариантов использования и позволяет пользователям удалять логические детали из поведенческих тестов.
Текст на Gherkin langauge действует как документация и скелет ваших автоматических тестов. Формат Gherkin основан на TreeTop Grammar, который существует на более чем 37 языках. Поэтому вы можете написать свой корнишон на более чем 37 языках.
Этот сценарий служит двум основным целям:
- Документирует пользовательские сценарии
- Написание автоматизированного теста (BDD)
В этом уроке по огурцам вы узнаете
- Что такое язык корнишонов?
- Почему корнишон?
- Синтаксис Gherkin
- Важные термины, используемые в Gherkin
- Пример корнишона
- Лучшие практики использования Gherkin
- Преимущества корнишона
Почему корнишон?
Потребность в корнишоне можно легко объяснить с помощью следующих изображений.
Перед корнишоном
После корнишона
Синтаксис Gherkin
Gherkin - это строчно-ориентированный язык, такой же, как YAML и Python. Каждая строка называется step и начинается с ключевого слова, а конец терминалов - с остановки. Табуляция или пробел используются для отступа.
В этом скрипте комментарий можно добавить где угодно, но он должен начинаться со знака #. Он читает каждую строку после удаления ключевых слов Грекина, как указано, когда, затем и т. Д.
Типичные шаги корнишона выглядят так:
Сценарии Gherkin: связывает человеческое понятие причины и следствия с программной концепцией ввода / процесса / вывода.
Синтаксис Gherkin:
Особенность: Название сценарияУчитывая [предварительные условия или исходный контекст]Когда [Событие или триггер]Затем [Ожидаемый результат]
Документ Gherkin имеет расширение .feature и представляет собой просто тестовый файл с необычным расширением. Cucumber читает документ Gherkin и выполняет тест, чтобы убедиться, что программное обеспечение ведет себя в соответствии с синтаксисом Gherkin.
Важные термины, используемые в Gherkin
- Особенность
- Фон
- Сценарий
- Данный
- Когда
- потом
- И
- Но
- Примеры схемы сценария
Для названия функции используется соглашение об именах. Однако в Cucumber нет установленных правил относительно имен.
Особенность:
Файл должен иметь расширение .feature, и каждый файл функций должен иметь только одну функцию. Ключевое слово функции находится с функцией: и после этого добавления будет написано пробел и имя функции.
Сценарий:
В каждом файле функций может быть несколько сценариев, и каждый сценарий начинается со слова «Сценарий:», за которым следует имя сценария.
Фон:
Ключевое слово Background помогает добавить контекст в сценарий. Он может содержать некоторые этапы сценария, но с той лишь разницей, что его следует запускать перед каждым сценарием.
Данный:
Использование ключевого слова Given заключается в том, чтобы привести систему в знакомое состояние до того, как пользователь начнет взаимодействовать с системой. Однако вы можете не писать взаимодействия с пользователем в заданных шагах, если задано в шаге «Предварительное условие».
Синтаксис:
Данный
Дано - тестовый шаг, который определяет контекстУчитывая, что я нахожусь на "/".
Когда:
Когда шаг должен определить действие, выполняемое пользователем.
Синтаксис:
Когда
A Когда - тестовый шаг, определяющий выполняемое «действие».Когда я выполняю «Войти».
Потом:
Ключевое слово then используется для того, чтобы увидеть результат после действия в шаге when. Однако вы можете проверить только заметные изменения.
Синтаксис:
потом
Затем - тестовый шаг, определяющий «результат».Тогда я должен увидеть «Добро пожаловать, Том».
И & Но
Вам может быть дано несколько раз, когда или Тогда.
Синтаксис:
Но
Но - дополнительный тестовый шаг, который определяет «результат действия».Но я должен увидеть «Добро пожаловать, Том».
И - дополнительный тестовый шаг, определяющий выполняемое «действие»И я пишу "EmailAddress" с " Этот адрес электронной почты защищен от спам-ботов. У вас должен быть включен JavaScript для его просмотра ..."
Дано, Когда, Тогда и, но являются тестовыми шагами. Вы можете использовать их как взаимозаменяемые. Интерпретатор не отображает ошибок. Однако при чтении они определенно не будут иметь никакого «смысла».
Учитывая Открывается страница входа в системуКогда я ввожу имя пользователя, пароль и нажимаю кнопку входа в системуТогда я на главной странице
Примеры огурцов
Пример 1:
Особенность: Функциональность входа в социальную сеть Facebook.Дано: я пользователь facebook.Когда: Я ввожу имя пользователя в качестве имени пользователя.И я ввожу пароль как парольЗатем я должен быть перенаправлен на домашнюю страницу facebook
Вышеупомянутый сценарий относится к функции, называемой входом в систему.
Все слова, выделенные жирным шрифтом, являются ключевыми словами «Корнишон».
Gherkin проанализирует каждый шаг, записанный в файле определения шага. Следовательно, шаги указаны в файле функций, и файл определения шага должен совпадать.
Пример 2:
Функция: Фон аутентификации пользователя:Учитывая, что пользователь уже зарегистрирован на веб-сайте. Сценарий:Учитывая, что пользователь находится на странице входа в системуКогда пользователь вводит правильный адрес электронной почтыИ пользователь вводит правильный парольИ пользователь нажимает кнопку входа в систему.Затем пользователь должен быть аутентифицированИ пользователь должен быть перенаправлен на свою панель управления.И пользователю должно быть представлено сообщение об успешном завершении.
Лучшие практики использования Gherkin
- Каждый сценарий должен выполняться отдельно
- Каждая функция должна выполняться одновременно
- Информация о шагах должна отображаться независимо
- Свяжите свой сценарий с вашими требованиями
- Следите за тем, какие сценарии следует включить в документ с требованиями.
- Создавайте модульные и простые для понимания шаги
- Попробуйте совместить все ваши распространенные сценарии
Преимущества корнишона
- Gherkin достаточно прост для понимания непрограммистов.
- Программисты могут использовать его как очень прочную основу для начала своих тестов.
- Это упрощает переваривание пользовательских историй
- Скрипт Gherkin легко понять руководителям бизнеса и разработчикам.
- Gherkin Testing нацелен на бизнес-требования
- Значительная часть функциональных спецификаций написана в виде пользовательских историй.
- Не нужно быть экспертом, чтобы понять небольшой набор команд Gherkin.
- Сценарии тестирования Gherkin напрямую связывают приемочные тесты с автоматизированными тестами
- Стиль написания тестовых случаев: проще повторно использовать код в других тестах.
Недостатки корнишона
- Это требует высокого уровня деловой активности и сотрудничества.
- Может работать не во всех сценариях
- Плохо написанные тесты могут легко увеличить стоимость обслуживания тестов
Резюме:
- Gherkin - это формат спецификаций огурцов.
- Gherkin - это строчно-ориентированный язык, такой же, как YAML и Python.
- Gherkin Scripts связывает человеческое понятие причины и следствия с программной концепцией ввода / процесса и вывода.
- Feature, Background, Scenario, Given, When, Then, And But - они очень важны в Gherkin.
- В Gherkin каждый сценарий должен выполняться отдельно.
- Самое большое преимущество Gherkin достаточно простое для понимания непрограммистами.
- Тест на корнишон может работать не во всех сценариях.