HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-03-10
1 <p>Теги: java, фреймворки, автоматизация, bdd</p>
1 <p>Теги: java, фреймворки, автоматизация, bdd</p>
2 <p>Любой из основных языков программирования имеет BDD-фреймворки автоматизации, а некоторые даже и не один. В этой заметке мы рассмотрим, что чаще всего используется при автоматизации на Java.</p>
2 <p>Любой из основных языков программирования имеет BDD-фреймворки автоматизации, а некоторые даже и не один. В этой заметке мы рассмотрим, что чаще всего используется при автоматизации на Java.</p>
3 <p>В первую очередь, стоит сказать, что большая часть существующих сегодня BDD-фреймворков представляет собой просто разные версии<strong>Cucumber</strong>. Кроме того, это могут быть: - производные от фреймворка<strong>JBehave</strong>, которые написаны в стиле его создателя (Dan North); -<strong>non-Gherkin</strong>спек-раннеры.</p>
3 <p>В первую очередь, стоит сказать, что большая часть существующих сегодня BDD-фреймворков представляет собой просто разные версии<strong>Cucumber</strong>. Кроме того, это могут быть: - производные от фреймворка<strong>JBehave</strong>, которые написаны в стиле его создателя (Dan North); -<strong>non-Gherkin</strong>спек-раннеры.</p>
4 <p>Одни фреймворки позволяют организовывать поведенческие сценарии в отдельные файлы, тогда как другие размещают их в исходном коде.</p>
4 <p>Одни фреймворки позволяют организовывать поведенческие сценарии в отдельные файлы, тогда как другие размещают их в исходном коде.</p>
5 <h2>Что у нас есть для Java?</h2>
5 <h2>Что у нас есть для Java?</h2>
6 <p>Говоря о фреймворках автоматизации для Java и JVM-языков, стоит упомянуть два основных конкурента:</p>
6 <p>Говоря о фреймворках автоматизации для Java и JVM-языков, стоит упомянуть два основных конкурента:</p>
7 <p>•<strong>Cucumber-JVM</strong>; •<strong>JBehave</strong>.</p>
7 <p>•<strong>Cucumber-JVM</strong>; •<strong>JBehave</strong>.</p>
8 <p><strong>Cucumber-JVM</strong>является официальной версией Cucumber для языка программирования Java и прочих JVM-языков, таких как Groovy, Scala, Clojure и пр. Cucumber-JVM полностью совместим с Gherkin и позволяет генерировать красивые отчеты. Кроме того, драйвер Cucumber-JVM можно кастомизировать.</p>
8 <p><strong>Cucumber-JVM</strong>является официальной версией Cucumber для языка программирования Java и прочих JVM-языков, таких как Groovy, Scala, Clojure и пр. Cucumber-JVM полностью совместим с Gherkin и позволяет генерировать красивые отчеты. Кроме того, драйвер Cucumber-JVM можно кастомизировать.</p>
9 <p><strong>JBehave</strong>- один из первых и самых распространенных BDD-фреймворков на современном рынке. Он разработан Деном Нортом, которого иногда называют отцом BDD. Правда, в JBehave нет ключевых особенностей Gherkin, таких как backgrounds, tags и doc strings. Вдобавок к этому, это первое решение на чистой Java, которое существовало еще до появления Cucumber-JVM.</p>
9 <p><strong>JBehave</strong>- один из первых и самых распространенных BDD-фреймворков на современном рынке. Он разработан Деном Нортом, которого иногда называют отцом BDD. Правда, в JBehave нет ключевых особенностей Gherkin, таких как backgrounds, tags и doc strings. Вдобавок к этому, это первое решение на чистой Java, которое существовало еще до появления Cucumber-JVM.</p>
10 <p>Оба вышеописанных фреймворка используются довольно широко. Радует, что для них предусмотрены плагины в большинстве IDE, а установка возможна посредством Maven-пакетов.</p>
10 <p>Оба вышеописанных фреймворка используются довольно широко. Радует, что для них предусмотрены плагины в большинстве IDE, а установка возможна посредством Maven-пакетов.</p>
11 <p>Однако для языка Java есть и другие BDD-фреймворки: -<strong>JGiven</strong>. Применяет fluent API при написании сценариев, причем красивые HTML-отчеты выводят сценарии совместно с результатами. Кроме того, радует лаконичный синтаксис; -<strong>Spock и JDave</strong>. Это уже spec-фреймворки, правда, JDave в течение последних лет не развивается; -<strong>Scalatest</strong>. Предназначен для Scala и тоже основан на spec-компонентах.</p>
11 <p>Однако для языка Java есть и другие BDD-фреймворки: -<strong>JGiven</strong>. Применяет fluent API при написании сценариев, причем красивые HTML-отчеты выводят сценарии совместно с результатами. Кроме того, радует лаконичный синтаксис; -<strong>Spock и JDave</strong>. Это уже spec-фреймворки, правда, JDave в течение последних лет не развивается; -<strong>Scalatest</strong>. Предназначен для Scala и тоже основан на spec-компонентах.</p>
12 <p>Есть решение для Java и у<strong>Concordion</strong>.</p>
12 <p>Есть решение для Java и у<strong>Concordion</strong>.</p>
13 <p><em>По материалам https://automationpanda.com/2017/02/04/bdd-101-frameworks/.</em></p>
13 <p><em>По материалам https://automationpanda.com/2017/02/04/bdd-101-frameworks/.</em></p>
14  
14