Какво представлява Езикът корнишон?
Корнишонът е разбираем за бизнеса език, който ви помага да опишете бизнес поведението, без да навлизате в подробности за изпълнението. Това е специфичен за домейн език за дефиниране на тестове във формат Краставица за спецификации. Той използва обикновен език за описване на случаи на употреба и позволява на потребителите да премахват логически подробности от тестовете за поведение.
Текстът в езика Gherkin действа като документация и скелет на вашите автоматизирани тестове. Форматът на корнишон се основава на граматиката TreeTop, която съществува на повече от 37 езика. Следователно можете да напишете своя корнишон на 37+ говорими езика.
Този скрипт служи за две основни цели:
- Документи на потребителски сценарии
- Писане на автоматизиран тест (BDD)
В този урок за корнишони ще научите
- Какво представлява Езикът корнишон?
- Защо Корнишон?
- Синтаксис на корнишони
- Важни термини, използвани в корнишона
- Пример за корнишони
- Най-добрите практики за използване на корнишон
- Предимства на корнишона
Защо Корнишон?
Необходимостта от корнишони може лесно да се обясни със следните изображения
Преди корнишони
След Коркин
Синтаксис на корнишони
Корнишонът е линейно ориентиран език точно като YAML и Python. Всеки ред се нарича стъпка и започва с ключова дума и край на терминалите със спирка. Разделът или интервалът се използват за отстъп.
В този скрипт може да се добави коментар, където пожелаете, но трябва да започва със знак #. Той чете всеки ред след премахване на ключовите думи на Грекин, както е дадено, кога, тогава и т.н.
Типичните стъпки от корнишони изглеждат така:
Корнишонови скриптове: свързва човешката концепция за причина и следствие със софтуерната концепция за вход / процес / изход.
Синтаксис на корнишони:
Характеристика: Заглавие на сценарияДадено [Предпоставки или първоначален контекст]Когато [Събитие или задействане]След това [Очакван изход]
Документът от корнишони има разширение .feature и просто просто тестов файл с изискано разширение. Краставица чете документа на Корнишън и изпълнява тест, за да потвърди, че софтуерът се държи според синтаксиса на Корнишън.
Важни термини, използвани в корнишона
- Особеност
- Заден план
- Сценарий
- Дадено
- Кога
- Тогава
- И
- Но
- Примери за очертания на сценария
Конвенцията за именуване се използва за име на функция. Въпреки това в Краставицата няма определени правила за имената.
Особеност:
Файлът трябва да има разширение .feature и всеки файл с функции трябва да има само една функция. Ключовата дума за характеристиката е с характеристиката: и след това добавяне ще бъдат написани интервал и име на характеристиката.
Сценарий:
Всеки файл с функции може да има множество сценарии и всеки сценарий започва със сценарий: последван от име на сценарий.
Заден план:
Фонова ключова дума ви помага да добавите някакъв контекст към сценария. Той може да съдържа някои стъпки от сценария, но единствената разлика е, че той трябва да се изпълнява преди всеки сценарий.
Дадено:
Използването на Дадена ключова дума е да постави системата в познато състояние, преди потребителят да започне да взаимодейства със системата. Можете обаче да пропуснете писането на потребителски взаимодействия в Дадени стъпки, ако са дадени в стъпка "Предварително условие".
Синтаксис:
Дадено
Дадено - тестова стъпка, която дефинира „контекстаКато се има предвид, че съм на „/“.
Кога:
Когато стъпката е да се определи действие, извършено от потребителя.
Синтаксис:
Кога
A When - тестова стъпка, която определя извършеното „действие“Когато изпълнявам „Вход“.
Тогава:
Използването на ключова дума 'then' е да видите резултата след действието в стъпка кога. Можете обаче да проверите само забележими промени.
Синтаксис:
Тогава
След това - тестова стъпка, която определя „резултата“.Тогава трябва да видя „Добре дошъл Том“.
И & Но
Може да имате няколко дадени кога или тогава.
Синтаксис:
Но
Но - допълнителна тестова стъпка, която определя резултата от действието.Но трябва да видя "Добре дошъл Том."
И - допълнителна тестова стъпка, която определя извършеното „действие“И пиша „EmailAddress“ с „ Този имейл адрес е защитен от спам ботове. Трябва да имате активиран JavaScript, за да го видите ...“
Дадено, Кога, Тогава и, но са тестови стъпки. Можете да ги използвате взаимозаменяемо. Интерпретаторът не показва грешка. Със сигурност обаче те няма да имат никакъв „смисъл“, когато бъдат прочетени.

Важни термини, използвани в корнишона
Дадена Страницата за вход се отваряКогато въведа потребителско име, парола и щракнете върху бутона ВходТогава съм на началната страница
Примери за корнишони
Пример 1:
Характеристика: Функционалност за вход на социалната мрежа Facebook.Като се има предвид: Аз съм потребител на facebook.Кога: Въвеждам потребителско име като потребителско име.И въвеждам паролата като паролаСлед това трябва да бъда пренасочен към началната страница на facebook
Споменатият по-горе сценарий е с функция, наречена потребителско влизане.
Всички думи, написани с удебелен шрифт, са ключови думи от корнишони.
Корнишон ще анализира всяка стъпка, записана във файла за дефиниране на стъпка. Следователно стъпките са дадени във файла с функции и файлът за дефиниция на стъпки трябва да съвпада.
Пример 2:
Характеристика: Предистория за удостоверяване на потребителя:Като се има предвид, че потребителят вече е регистриран в уебсайта Сценарий:Като се има предвид, че потребителят е на страницата за входКогато потребителят въведе правилния имейл адресИ потребителят въвежда правилната паролаИ потребителят натиска бутона за входСлед това потребителят трябва да бъде удостоверенИ потребителят трябва да бъде пренасочен към своето табло за управлениеИ на потребителя трябва да се представи съобщение за успех
Най-добрите практики за използване на корнишон
- Всеки сценарий трябва да се изпълнява отделно
- Всяка функция трябва да може да бъде изпълнена заедно
- Информацията за стъпките трябва да се показва независимо
- Свържете вашите сценарии с вашите изисквания
- Проследявайте пълното проследяване на сценариите, които трябва да бъдат включени в документ за изискване
- Създайте модулни и лесни за разбиране стъпки
- Опитайте се да комбинирате всичките си често срещани сценарии
Предимства на корнишона
- Корнишонът е достатъчно прост, за да го разберат непрограмистите
- Програмистите могат да го използват като много солидна основа за започване на тестовете си
- Това прави потребителските истории по-лесни за смилане
- Скриптът на корнишони може лесно да се разбере от ръководителите и разработчиците на бизнеса
- Тестването на корнишони е насочено към бизнес изискванията
- Значителна част от функционалните спецификации са написани като потребителски истории
- Не е нужно да сте експерт, за да разберете малкия набор от команди от корнишони
- Тестовете за корнишони свързват тестовете за приемане директно с автоматизирани тестове
- Стил на писане на тестови случаи е по-лесно да се използва повторно код в други тестове
Недостатъци на корнишона
- Това изисква високо ниво на бизнес ангажираност и сътрудничество
- Може да не работи добре във всички сценарии
- Лошо написаните тестове могат лесно да увеличат разходите за поддръжка на тестове
Резюме:
- Корнишонът е форматът за спецификации за краставици
- Корнишонът е линейно ориентиран език точно като YAML и Python
- Gherkin Scripts свързва човешката концепция за причина и следствие със софтуерната концепция за въвеждане / процес и изход
- Характеристика, фон, сценарий, дадено, кога, тогава и но са важни използвани в корнишона
- В Gherkin всеки сценарий трябва да се изпълнява отделно
- Най-голямото предимство на Gherkin е достатъчно просто, за да го разберат непрограмистите
- Тестът на корнишони може да не работи добре при всички видове сценарии