Я где-то читал, что JBehave на самом деле является эквивалентом Java Cucumber, тогда как Cucumber основан на Ruby.
Может ли кто-то описать различия между ними, предоставляют ссылки, которые делают?
Я где-то читал, что JBehave на самом деле является эквивалентом Java Cucumber, тогда как Cucumber основан на Ruby.
Может ли кто-то описать различия между ними, предоставляют ссылки, которые делают?
JBehave и Cucumber - совершенно разные рамки, хотя и предназначены для той же цели: приемочные тесты. Они основаны на рассказах (JBehave) или особенностях (огурцы). Особенностью является сборник рассказов, выраженный с точки зрения конкретного участника проекта. В ваших тестах вы ссылаетесь на истории, как правило, с помощью регулярного выражения.
JBehave - это чистая Java-структура, тогда как Cucumber основана на Ruby. Оба являются очень зрелыми структурами. Вы можете использовать Cucumber с Java через плагин Cuke4Duke Maven от Maven, но по-прежнему существует несоответствие языка, поскольку он продолжает использовать Ruby внутри, и вам нужно будет установить этот язык и его инфраструктуру (так называемые "драгоценные камни" ) на машине, которая проводит ваши тесты. Это может быть хрупким, а несоответствие языка усложняет как отладку, так и препятствует выполнению ваших тестов. В настоящее время существует чистая реализация Java Cucumber, которая называется Cucumber-JVM. По состоянию на декабрь 2011 года он еще не был выпущен, но совершенно полезен (версия: версия 1.0.0 была выпущена 27 марта 2012 года). Эта новая структура очень похожа на JBehave, поскольку обе имеют встроенную поддержку JUnit.
Ниже приведено сравнение Cucumber-JVM и JBehave.
Сходства:
Плюсы/минусы JBehave:
Плюсы/минусы огурца-JVM:
Если вы работаете в проекте Java, я бы рекомендовал JBehave (если вы ищете отличную документацию) или Cucumber-JVM (если для вас важна поддержка функций или рассказов).
Я попробовал оба фреймворка и пошел для Cucumber-JVM.
Нет, на самом деле, эквивалент огурца Java Cucumber-JVM. Вам также может потребоваться проверить эту ссылку, чтобы понять разницу между этими двумя известными фреймворками BDD.
Cucumber JVM - это реализация Java популярного инструмента BDD Cucumber, как указано в приведенных выше ответах.
JBehave имеет множество дополнительных конфигураций для точной настройки инструмента BDD в соответствии с вашими предпочтениями. Но с этими конфигурациями также возникает большая сложность. В конце концов, мы идем Agile, и нам нравится быть Lean в нашей работе. Вопрос, который вы должны задать себе, заключается в том, добавляют ли эти сложные конфигурации какое-либо существенное значение для вашего рабочего процесса. Я видел, как люди делают BDD даже без мощного инструмента, такого как Cucumber или JBehave. Некоторые также создают свои собственные инструменты. Мое наблюдение было, если вам нужен инструмент BDD, Cucumber имеет почти всю необходимую мощность.
Для получения дополнительной информации вы можете прочитать эту статью в блоге, написанную мной: JBehave Vs Cucumber JVM: сравнение и обмен опытом
Р. С. Я чувствую, что Stackoverflow - это не лучшее сообщество, чтобы задавать субъективные вопросы по инструментам. В любом случае, эта дискуссия будет полезна для кого-то.
Как говорится в принятом ответе, JBehave - это чистая Java, а Cucumber - это обобщенная среда BDD, которая реализована на разных языках и может быть сделана доступной в качестве среды тестирования в различных контекстах - см. Здесь https://docs.cucumber.io./установка/.
Если вы хотите реализовать BDD-фреймворк для Java-проекта, то ваше сравнение должно быть главным образом между JBehave и Cucumber-JVM (чистая Java-реализация Cucumber).
В этом последнем обновленном справочнике от июля 2017 года сравниваются JBehave и Cucumber-JVM, и указывается, что cucumber-jvm в настоящее время в целом предпочтительнее JBehave (с точки зрения степени текущей активности и использования). Это включает в себя Cucumber-JVM, который поддерживается более активно:
В статье также говорится, что:
Насколько я понимаю, JBehave находится в фазе зрелости своего жизненного цикла, в то время как Cucumber все еще достигает уровня зрелости с прохладными новыми функциями изо дня в день.
Статья оценивает Cucumber-jvm более высоко в следующих аспектах
Эта статья оценивает возможности Cucumber-JVM в целом для сравниваемого набора функций, однако вес, который вы можете придать определенным функциям, будет зависеть от ваших конкретных потребностей:
Статья оценивает Cucumber-JVM выше для следующего:
Статья оценивает JBehave выше для следующего:
Составные шаги не являются особенностью BDD/Gherkin Standard.
... Основной причиной было то, что люди, которые использовали эту функцию, часто получали грязный код автоматизации, который был хрупким и сложным в обслуживании.
Статья оценивает jbehave и Cucumber-JVM одинаковыми для следующего:
Особенности JBehave: