JBehave and Cucumber的区别

Posted maoya

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JBehave and Cucumber的区别相关的知识,希望对你有一定的参考价值。

JBehave and Cucumber are completely different frameworks, although meant for the same purpose: acceptance tests. They are based around stories (JBehave) or features (Cucumber). A feature is a collection of stories, expressed from the point of view of a specific project stakeholder. In your tests, you are referring to the stories, typically via regular expression matching.

JBehave is a pure Java framework whereas Cucumber is based on Ruby. Both are very mature frameworks. You can use Cucumber from Java via the Cuke4Duke Maven plugin from Maven, but there is still a language mismatch as it continues to use Ruby internally and you will need to install this language and its infrastructure (so-called ‘gems‘) on the machine that runs your tests. This can be brittle and the language mismatch complicates both debugging and impedes performance of your tests. There is now a pure Java implementation of Cucumber which is called Cucumber-JVM. As of December 2011, it‘s not released yet, but perfectly usable (edit: version 1.0.0 was released on March 27th, 2012). This new framework is very similar to JBehave as both have native JUnit support.

The following is a comparison of Cucumber-JVM and JBehave.

Similarities:

  • JUnit support out of the box
  • Pure Java
  • Fast
  • Easy to use

Pros/Cons of JBehave:

  • Pro Very good documentation
  • Pro Pretty good html formatting of test results
  • Con Only supports stories, not features

Pros/Cons of Cucumber-JVM:

  • Pro Supports features
  • Con Doesn‘t support parallel JUnit tests. Will however work with parallel Maven 3 builds.
  • Con Lacking documentation
  • Con No pretty HTML formatting of test results, other than JUnit‘s own formatting (edit: Cucumber-JVM now does support HTML output)

If you are on a Java project, I would recommend either JBehave (if you are looking for great documentation) or Cucumber-JVM (if the support of features instead or stories is important to you).

I tried both frameworks and went for for Cucumber-JVM.

 

https://stackoverflow.com/questions/7954755/what-are-the-differences-between-jbehave-and-cucumber

以上是关于JBehave and Cucumber的区别的主要内容,如果未能解决你的问题,请参考以下文章

Cucumber, capybara and selenium - 无需按钮即可提交表单

常见的BDD框架

RSpec 和 Cucumber 有啥区别? [关闭]

JBehave 中的故事计数错误

从属性文件动态加载数据到 jbehave 故事

Cucumber语法格式