我刚刚开始了解jbehave。谁能告诉我jbehave与其他BDD工具如Cucumber,FiTNesse,Concordion有什么区别?
答案 0 :(得分:3)
JBehave在操作和语法方面与Cucumber最相似。 JBehave是原始的BDD工具,用本机Java编写。黄瓜的灵感来自于JBehave并用Ruby编写。
Cucumber-JVM是Cucumber的本机Java实现,它使用注释(如JBehave)和正则表达式来实现“步骤定义”以识别参数(如Ruby Cucumber)。 JBehave和Cucumber都使用基于文本的功能文件。 JBehave和Cucumber之间确实没有显着差异,除了Cucumber比JBehave更广泛采用(由于其跨平台性质和开发人员的努力)。
FitNesse使用具有特殊语法的Wiki来定义测试规范和Java“fixtures”来解释它们。这是笨拙和丑陋的,但已经有一段时间了,所以仍有一些用户。
Concordion使用HTML来定义测试规范,并使用Java(JUnit)工具来运行它们。 FitNesse和Concordion之间的主要区别(除了使用Wiki的FitNesse之外)FitNesse灯具是可重复使用的,而Concordion是针对特定场景定制的。这往往使Concordion夹具更简单,并减少测试规格中的重复和不相关的值。
假设您使用的是Java,我会推荐Cucumber(如果受众只是开发人员)或Concordion(如果规范的受众也可能包括非开发人员)。 Concordion规范是HTML格式的,这意味着它们可以被链接在一起,并且可以作为格式良好的文档加倍。