什么是JBehave和黄瓜之间的区别是什么?

问题描述 投票:59回答:4

我已阅读的地方,JBehave实际上是相当于Java黄瓜,黄瓜,而基于Ruby的。

可有人形容他们之间的差异提供了做链接?

cucumber bdd jbehave
4个回答
102
投票

JBehave和黄瓜是完全不同的框架,虽然用于同一目的:验收测试。它们是基于各地的故事(JBehave)或功能(黄瓜)。一个特点是故事集,从一个特定的项目利益相关者的分数表示。在你的测试,你指的是故事,通常是通过正则表达式匹配。

JBehave是一个纯Java框架,而黄瓜是基于Ruby。两者都是非常成熟的框架。您可以从Java通过Cuke4Duke Maven plugin from Maven用黄瓜,但还是有语言不匹配,因为它继续在内部使用Ruby,你需要安装这种语言及其在机器上的基础设施(所谓的“宝石”)运行你的测试。这可能是易碎和语言不匹配都调试复杂,阻碍了你的测试性能。现在有黄瓜被称为Cucumber-JVM的纯Java实现。截至2011年12月,它尚未公布,但完全可用(编辑:version 1.0.0 was released于2012年3月27日)。这种新的架构非常相似,JBehave既具有本地JUnit支持。

以下是黄瓜-JVM和JBehave的比较。

相似点:

  • JUnit支持开箱即用
  • 纯Java
  • 快速
  • 易于使用

优点/ JBehave的缺点:

  • 临很好的文档
  • 测试结果的专业还不错的HTML格式
  • 精读仅支持的故事,而不是功能

优点/黄瓜,JVM的缺点:

  • Pro支持功能
  • Console口不支持并行JUnit测试。然而,将与平行的Maven 3构建工作。
  • 刀豆缺乏文档
  • 刀豆测试结果没有漂亮的HTML格式,比JUnit的自己的格式等 (编辑:黄瓜,JVM现在不支持HTML输出)

如果你是一个Java项目,我会建议,要么JBehave(如果你正在寻找伟大的文档)或黄瓜JVM(如果要素的支持,而不是或故事对你很重要)。

我想这两个框架,去为黄瓜,JVM。


4
投票

黄瓜JVM是Java实现流行的黄瓜BDD的工具,如上面提到的答案。

JBehave有许多额外的配置,以微调BDD的工具,按您的喜好。但随着这些配置来一个非常复杂了。在一天结束的时候,我们要敏捷和我们爱的人在我们的工作精益。你应该问从youself的问题是,是否这些复杂的配置添加任何显著的价值,您的工作流程。我看到有人在做BDD即使没有像黄瓜或JBehave的有力工具。一些创建自己的工具为好。我的观察是,如果你需要一个BDD工具,黄瓜几乎所有你所需要的力量。

对于更多信息,您可以读我写的这篇博客文章:JBehave Vs Cucumber JVM: Comparison and Experience Sharing

P. S.我觉得是#1不要问关于工具主观题最好的社区。不管怎么说希望这次讨论将是有用的人。


3
投票

不,实际上,相当于Java黄瓜是Cucumber-JVM。您可能还需要检查这个Link了解这两个著名的BDD框架之间的差异。


1
投票

作为公认的答案州,JBehave是纯Java的,而Cucumber是一个广义的BDD框架,在不同的语言来实现,并且可以提供在各种不同的环境中测试框架 - 在这里看到https://docs.cucumber.io/installation/

如果你正在寻找实现的Java项目中的BDD框架,那么你的比较应主要JBehave和黄瓜,JVM(纯Java实现黄瓜)之间。

此后续最新从2017年7月参考比较JBehave和黄瓜-JVM,并指示黄瓜-JVM目前通常优选以JBehave(在当前活动和使用的程度的术语)。这包括黄瓜,JVM是更积极的维护:

https://medium.com/agile-vision/jbehave-vs-cucumber-jvm-comparison-and-experience-sharing-439dfdf5922d

文章还指出其结论是:

按照我的理解,JBehave是在其生命周期的成熟阶段,而黄瓜仍达到与很酷的新功能,一天按一天的成熟水平。

文章得分黄瓜JVM更高总体来说有以下几个方面

  • 文档和社区
  • 产品特点(见下文我的注意)
  • 报告
  • 人气,代码质量和GitHub上当前活动
  • 在计算器上活动

Note on features:

文章得分黄瓜JVM的功能更加全面的高度的功能集,它比较,但是,你可能给某些功能的权重将取决于您的特定需求:

  • 文章率黄瓜JVM以下较高者: IDE插件(语法高亮) 格式的灵活性 Lambda表达式支持
  • 文章率JBehave以下较高者: 外部数据支持 复合步骤(这被评为具有黄瓜-JVM低支持,用下面的解释性注释): 复合步骤不是BDD /小黄瓜标准的一个特征。 ...的主要原因是,谁做这个功能的使用人经常结束了,这是脆弱的,难以维持混乱的自动化代码。
  • 文章率jbehave和黄瓜,JVM同为以下几点: 背景和挂钩 结合代码(注解)

JBehave特点:

https://jbehave.org/reference/stable/features.html

© www.soinside.com 2019 - 2024. All rights reserved.