Огурец (программное обеспечение)
Эта статья нуждается в дополнительных цитатах для проверки . ( октябрь 2016 г. ) |
Разработчик(и) | Аслак Хеллесой, [1] Джозеф Вилк, [2] Мэтт Винн, [3] Григорий Hnatiuk, [4] Майк Сасак [5] |
---|---|
Стабильная версия | 9.1.2 [6] ![]() |
Репозиторий | |
Написано в | Руби |
Операционная система | Кросс-платформенный |
Тип | разработки, основанная на поведении Платформа / Инструмент тестирования |
Лицензия | МОЯ лицензия |
Веб-сайт | огурец |
Cucumber — это программный инструмент, поддерживающий разработку на основе поведения (BDD). [7] [8] [9] [10] [11] [12] Центральным элементом подхода Cucumber BDD является его обычный синтаксический анализатор языка под названием Gherkin . Это позволяет указать ожидаемое поведение программного обеспечения на логическом языке, понятном клиентам. Таким образом, Cucumber позволяет выполнять функциональную документацию, написанную в виде делового текста. [13] [7] [8] Его часто используют для тестирования другого программного обеспечения. [14] Он запускает автоматические приемочные тесты, написанные в стиле разработки, управляемой поведением (BDD). [15]
Первоначально Cucumber был написан на языке программирования Ruby . [7] [16] [8] и первоначально использовался исключительно для тестирования Ruby в качестве дополнения к платформе RSpec BDD. Cucumber теперь поддерживает множество различных языков программирования посредством различных реализаций, включая Java. [17] [8] и JavaScript . [18] [19] Существует порт Cucumber на .NET под названием SpecFlow. [20] [21] [22] теперь заменен Рекнроллом. [23]
язык корнишонов
[ редактировать ]Gherkin — это язык, который Cucumber использует для определения тестовых случаев. Он разработан так, чтобы быть нетехническим и понятным для человека, и в совокупности описывает варианты использования, относящиеся к программной системе. [7] [8] [24] [25] Цель синтаксиса Gherkin — продвигать методы разработки, основанные на поведении, всей командой разработчиков, включая бизнес-аналитиков и менеджеров. Он направлен на обеспечение соблюдения жестких, недвусмысленных требований, начиная с начальных этапов определения требований руководством бизнеса и на других этапах жизненного цикла разработки.
Помимо предоставления сценария для автоматического тестирования, синтаксис естественного языка Gherkin предназначен для обеспечения простого документирования тестируемого кода. [25] В настоящее время Gherkin поддерживает ключевые слова на десятках языков. [25] [26] [7] [8]
Синтаксис
[ редактировать ]Синтаксис основан на линейно-ориентированном дизайне , подобном Python . Структура файла определяется с помощью пробелов и других управляющих символов. [25] Строки, начинающиеся с #
считаются комментариями и могут быть размещены в любом месте файла. [25] Инструкцией является любая непустая строка без комментариев. Они состоят из распознаваемого ключевого слова Gherkin, за которым следует строка. [27]
Все файлы Gherkin имеют .feature
расширение файла. Они содержат одно определение функции для тестируемой системы и представляют собой исполняемый тестовый сценарий. [27]
Вот пример синтаксиса: [28]
Feature: Guess the word
# The first example has two steps
Scenario: Maker starts a game
When the Maker starts a game
Then the Maker waits for a Breaker to join
# The second example has three steps
Scenario: Breaker joins a game
Given the Maker has started a game with the word "silky"
When the Breaker joins the Maker's game
Then the Breaker must guess a word with 5 characters
Командная строка
[ редактировать ]Cucumber поставляется со встроенным интерфейсом командной строки, который содержит полный список инструкций. Как и большинство инструментов командной строки, огурец предоставляет --help
опция, предоставляющая сводку аргументов, принимаемых командой. [29]
$ cucumber --help
-r, --require LIBRARY|DIR Require files before executing the features.
--i18n LANG List keywords for in a particular language.
Run with "--i18n help" to see all languages.
-f, --format FORMAT How to format features (Default: pretty).
-o, --out [FILE|DIR] Write output to a file/directory instead of
...
Командную строку Cucumber можно использовать для быстрого запуска определенных тестов. Он также поддерживает запуск подмножества сценариев путем фильтрации тегов.
$ cucumber --tags @tag-name
Приведенная выше команда помогает выполнять только те сценарии, которые имеют указанные @tag-name
. [29] Аргументы могут быть представлены в виде логического OR
или AND
работа тегов. Помимо тегов, сценарии можно фильтровать по именам сценариев. [29]
$ cucumber --name logout
Приведенная выше команда запустит только те сценарии, которые содержат слово «выход».
Также полезно знать, что пошло не так, если тест не пройден. Cucumber позволяет легко выявлять ошибки в коде с помощью --backtrace
вариант. [29]
Ссылки
[ редактировать ]- ^ «Аслак Хеллесой» . Aslakhellesoy.com . Проверено 24 января 2012 г.
- ^ «Джозеф Уилк | об искусственном интеллекте, Интернете, удобстве использования, тестировании и процессе разработки программного обеспечения» . Блог.josephwilk.net . Проверено 24 января 2012 г.
- ^ «Чайное развитие» . Блог.mattwynne.net . Проверено 24 января 2012 г.
- ^ "Профиль Гнатюка" . Гитхаб . Проверено 24 января 2012 г.
- ^ «Профиль msassak» . Гитхаб . Проверено 24 января 2012 г.
- ^ «Выпуск 9.1.2» . 7 мая 2023 г. Проверено 30 мая 2023 г.
- ^ Jump up to: а б с д и «Прагматичная книжная полка | Огуречная книга» . Pragprog.com. Архивировано из оригинала 21 января 2012 г. Проверено 24 января 2012 г.
- ^ Jump up to: а б с д и ж Роуз, Себ; Винн, Мэтт; Хеллесой, Аслак (15 февраля 2015 г.). Прагматичная книжная полка | Книга «Огурец для Java» . Pragprog.com . Проверено 28 апреля 2019 г.
- ^ «Что такое огурец?» . огурец . Проверено 8 июня 2019 г.
- ^ Аслак Хеллесой. «Самый непонятый инструмент для совместной работы в мире» . огурец .
- ^ Надь, Гаспар; Роуз, Себ (07 марта 2017 г.). Книги BDD — Открытие . Линпаб. ISBN 978-1983591259 .
{{cite book}}
: CS1 maint: дата и год ( ссылка ) - ^ Роуз, Себ; Надь, Гаспар (27 апреля 2021 г.). Книги BDD — Формулировка . Линпаб. ISBN 979-8723395015 .
{{cite book}}
: CS1 maint: дата и год ( ссылка ) - ^ Фокс, Армандо; Паттерсон, Дэвид (2016). Инженерное программное обеспечение как услуга . Клубничный каньон. стр. 218–255. ISBN 978-0-9848812-4-6 .
- ^ «Автоматическое тестирование с помощью Selenium и Cucumber» . www.ibm.com . 06.08.2013 . Проверено 9 февраля 2017 г.
- ^ Соекен, Матиас; Уилл, Роберт; Дрекслер, Рольф (29 мая 2012 г.). Фурия, Карло А.; Нанц, Себастьян (ред.). Объекты, модели, компоненты, шаблоны . Конспекты лекций по информатике. Шпрингер Берлин Гейдельберг. стр. 269–287. дои : 10.1007/978-3-642-30561-0_19 . ISBN 9783642305603 .
- ^ «Прагматичная книжная полка | Книга RSpec» . Pragprog.com. 2010-12-02. Архивировано из оригинала 21 января 2012 г. Проверено 24 января 2012 г.
- ^ «Огурец-jvm» . огурец . Проверено 08 марта 2018 г.
- ^ «Огурец-js» . огурец . Проверено 08 марта 2018 г.
- ^ Найделе Манджунатх; Оливье де Мёлдер (01 февраля 2019 г.). «Нет кода? Нет проблем — написание тестов простым английским языком» . Время открытия . Проверено 29 апреля 2019 г.
- ^ «Привязка бизнес-требований к коду .NET» . СпецФлоу . Проверено 29 апреля 2019 г.
- ^ «СпецФлоу» . Гитхаб . Проверено 29 апреля 2019 г.
- ^ Ричард Лоуренс; Пол Рейнер (2018). Разработка, основанная на поведении, с Cucumber . Эддисон Уэсли.
- ^ Надь, Гаспар. «От SpecFlow к Reqnroll: почему и как» . reqnroll.net . Повторить . Проверено 18 апреля 2024 г.
- ^ «огурец/корнишон» . Гитхаб . Проверено 9 февраля 2017 г.
- ^ Jump up to: а б с д и «Синтаксис огурца» . огурец . Проверено 9 июля 2019 г.
- ^ «Языки, поддерживаемые корнишонами» . Корнишон. огурец/огурец: Cucumber monorepo — строительные блоки для Cucumber на разных языках . Получено 21 марта 2021 г. - через GitHub .
- ^ Jump up to: а б "Ссылка" . огурец . Архивировано из оригинала 25 октября 2015 г. Проверено 17 января 2016 г.
- ^ «Справочник корнишонов» . огурец . Архивировано из оригинала 13 января 2024 г. Проверено 11 февраля 2024 г.
- ^ Jump up to: а б с д Винн, Мэтт; Хеллесой, Аслак. «Огуречная книга» . СафариКнигиОнлайн . Проверено 22 января 2016 г.