BDD-фреймворки для Java | OTUS

BDD-фреймворки для Java

Любой из основных языков программирования имеет BDD-фреймворки автоматизации, а некоторые даже и не один. В этой заметке мы рассмотрим, что чаще всего используется при автоматизации на Java.

В первую очередь, стоит сказать, что большая часть существующих сегодня BDD-фреймворков представляет собой просто разные версии Cucumber. Кроме того, это могут быть: — производные от фреймворка JBehave, которые написаны в стиле его создателя (Dan North); — non-Gherkin спек-раннеры.

Одни фреймворки позволяют организовывать поведенческие сценарии в отдельные файлы, тогда как другие размещают их в исходном коде.

Что у нас есть для Java?

Говоря о фреймворках автоматизации для Java и JVM-языков, стоит упомянуть два основных конкурента:

Cucumber-JVM; • JBehave.

cucumber_java_1-1801-567cb2.PNG

Cucumber-JVM является официальной версией Cucumber для языка программирования Java и прочих JVM-языков, таких как Groovy, Scala, Clojure и пр. Cucumber-JVM полностью совместим с Gherkin и позволяет генерировать красивые отчеты. Кроме того, драйвер Cucumber-JVM можно кастомизировать.

JBehave — один из первых и самых распространенных BDD-фреймворков на современном рынке. Он разработан Деном Нортом, которого иногда называют отцом BDD. Правда, в JBehave нет ключевых особенностей Gherkin, таких как backgrounds, tags и doc strings. Вдобавок к этому, это первое решение на чистой Java, которое существовало еще до появления Cucumber-JVM.

1-1801-17ff39.png

Оба вышеописанных фреймворка используются довольно широко. Радует, что для них предусмотрены плагины в большинстве IDE, а установка возможна посредством Maven-пакетов.

Однако для языка Java есть и другие BDD-фреймворки: — JGiven. Применяет fluent API при написании сценариев, причем красивые HTML-отчеты выводят сценарии совместно с результатами. Кроме того, радует лаконичный синтаксис; — Spock и JDave. Это уже spec-фреймворки, правда, JDave в течение последних лет не развивается; — Scalatest. Предназначен для Scala и тоже основан на spec-компонентах.

Есть решение для Java и у Concordion.

По материалам https://automationpanda.com/2017/02/04/bdd-101-frameworks/.

Не пропустите новые полезные статьи!

Спасибо за подписку!

Мы отправили вам письмо для подтверждения вашего email.
С уважением, OTUS!

Автор
1 комментарий
Комментарий удален
Для комментирования необходимо авторизоваться
Популярное
Сегодня тут пусто