Команды разработчиков часто ошибочно полагают, что BDD — это инструментальная структура. На самом деле, BDD — это подход к разработке, а не инструментальная структура. Однако, как и в случае других подходов к разработке, существуют также инструменты для BDD.
Несколько инструментов BDD используются для разных платформ и языков программирования. Они —
-
Огурец (Рубиновый каркас)
-
SpecFlow (.NET Framework)
-
Поведение (фреймворк Python)
-
JBehave (фреймворк Java)
-
JBehave Web (фреймворк Java с интеграцией Selenium)
-
Салат (рамки Python)
-
Concordion (фреймворк Java)
-
Behat (фреймворк PHP)
-
Kahlan (фреймворк PHP)
-
DaSpec (фреймворк JavaScript)
-
Жасмин (фреймворк JavaScript)
-
Cucumber-js (фреймворк JavaScript)
-
Squish GUI Tester (инструмент тестирования BDD GUI для JavaScript, Python, Perl, Ruby и Tcl)
-
Спок (Groovy рамки)
-
Yadda (поддержка языка Gherkin для таких платформ, как Jasmine (фреймворк JavaScript))
Огурец (Рубиновый каркас)
SpecFlow (.NET Framework)
Поведение (фреймворк Python)
JBehave (фреймворк Java)
JBehave Web (фреймворк Java с интеграцией Selenium)
Салат (рамки Python)
Concordion (фреймворк Java)
Behat (фреймворк PHP)
Kahlan (фреймворк PHP)
DaSpec (фреймворк JavaScript)
Жасмин (фреймворк JavaScript)
Cucumber-js (фреймворк JavaScript)
Squish GUI Tester (инструмент тестирования BDD GUI для JavaScript, Python, Perl, Ruby и Tcl)
Спок (Groovy рамки)
Yadda (поддержка языка Gherkin для таких платформ, как Jasmine (фреймворк JavaScript))
Огурец
Cucumber — это бесплатный инструмент для исполняемых спецификаций, используемый во всем мире. Cucumber позволяет командам разработчиков программного обеспечения описывать, как программное обеспечение должно вести себя в виде простого текста. Текст написан на понятном для бизнеса, предметно-ориентированном языке и служит в качестве документации, автоматизированных тестов и помощи в разработке, все в одном формате. Вы можете использовать более сорока различных разговорных языков (английский, китайский и т. Д.) С огурцом.
Огурец — Основные характеристики
Ключевые особенности огурца следующие:
-
Огурец можно использовать для Исполняемых спецификаций, Автоматизации испытаний и Живая документация.
-
Cucumber работает с Ruby, Java, NET, Flex или веб-приложениями, написанными на любом языке.
-
Cucumber поддерживает более сжатые тесты в таблицах — аналогично тому, что делает FIT.
-
Cucumber произвел революцию в жизненном цикле разработки программного обеспечения, объединив требования, автоматизированное тестирование и документацию в единое целое: исполняемые спецификации в виде простого текста, которые подтверждают правильность программного обеспечения.
Огурец можно использовать для Исполняемых спецификаций, Автоматизации испытаний и Живая документация.
Cucumber работает с Ruby, Java, NET, Flex или веб-приложениями, написанными на любом языке.
Cucumber поддерживает более сжатые тесты в таблицах — аналогично тому, что делает FIT.
Cucumber произвел революцию в жизненном цикле разработки программного обеспечения, объединив требования, автоматизированное тестирование и документацию в единое целое: исполняемые спецификации в виде простого текста, которые подтверждают правильность программного обеспечения.
SpecFlow
SpecFlow — это инструмент BDD для платформы .NET. SpecFlow — проект с открытым исходным кодом. Исходный код размещен на GitHub.
SpecFlow использует синтаксис Gherkin для функций. Огурец формат был введен огурцом и также используется другими инструментами. Язык Gherkin поддерживается как проект на GitHub — https://github.com/cucumber/gherkin
Вести себя
Поведение используется для платформы Python.
-
Behave работает с тремя типами файлов, которые хранятся в каталоге, называемом «функции» —
-
файлы функций с вашими сценариями поведения в нем.
-
Каталог «steps» с реализациями шагов Python для сценариев.
-
При желании некоторые элементы управления средой (код для запуска до и после шагов, сценарии, функции или весь матч стрельбы).
-
-
Функции поведения написаны с использованием Gherkin (с некоторыми изменениями) и называются «name.feature».
-
Теги, прикрепленные к объекту и сценарию, доступны в функциях среды через переданный им объект «объект» или «сценарий». На этих объектах есть атрибут, называемый «тегами», который представляет собой список прикрепленных имен тегов в том порядке, в котором они находятся в файле функций.
-
Изменения к стандарту корнишон —
-
Behave может анализировать стандартные файлы Gherkin и расширяет Gherkin, позволяя вводить ключевые слова в нижнем регистре, поскольку иногда они позволяют получить более удобочитаемые спецификации функций.
-
Behave работает с тремя типами файлов, которые хранятся в каталоге, называемом «функции» —
файлы функций с вашими сценариями поведения в нем.
Каталог «steps» с реализациями шагов Python для сценариев.
При желании некоторые элементы управления средой (код для запуска до и после шагов, сценарии, функции или весь матч стрельбы).
Функции поведения написаны с использованием Gherkin (с некоторыми изменениями) и называются «name.feature».
Теги, прикрепленные к объекту и сценарию, доступны в функциях среды через переданный им объект «объект» или «сценарий». На этих объектах есть атрибут, называемый «тегами», который представляет собой список прикрепленных имен тегов в том порядке, в котором они находятся в файле функций.
Изменения к стандарту корнишон —
Behave может анализировать стандартные файлы Gherkin и расширяет Gherkin, позволяя вводить ключевые слова в нижнем регистре, поскольку иногда они позволяют получить более удобочитаемые спецификации функций.
Салат
Салат — это очень простой инструмент BDD на основе огурца. Он может выполнять функциональные описания в виде простого текста как автоматизированные тесты для проектов Python. Салат цели наиболее распространенных задач на BDD.
Concordion
Concordion — это инструмент с открытым исходным кодом для автоматизации спецификации на примере для Java Framework.
Хотя основные функции просты, API-интерфейс инфраструктуры Powerful позволяет добавлять функциональные возможности, такие как использование электронных таблиц Excel в качестве спецификаций, добавление снимков экрана к выводу, отображение информации журнала и т. Д.
Concordion позволяет вам писать спецификации на обычном языке с использованием абзацев, таблиц и правильной пунктуации, а структурированный язык с использованием Given / When / Then не требуется.
Concordion был портирован на другие языки, включая —
C # (Concordion.NET)
Python (PyConcordion)
Рубин (Руби-Конкордеон)