我刚开始了解jbehave。谁能告诉我 jbehave 与 Cucumber、FiTNesse、Concordion 等其他 BDD 工具的区别特征是什么?
1 回答
JBehave在操作和语法上与 Cucumber 最相似。JBehave 是最初的 BDD 工具,用本机 Java 编写。Cucumber 受到 JBehave 的启发并用 Ruby 编写。
Cucumber-JVM是 Cucumber 的原生 Java 实现,它使用注释(如 JBehave)和正则表达式来识别参数(如 Ruby Cucumber)实现“步骤定义”。JBehave 和 Cucumber 都使用基于文本的功能文件。JBehave 和 Cucumber 之间确实没有显着差异,只是 Cucumber 比 JBehave 更广泛地采用(这要归功于它的跨平台特性和开发人员的努力)。
FitNesse使用具有特殊语法的 Wiki 来定义测试规范和 Java“夹具”来解释它们。它既笨拙又丑陋,但已经存在了一段时间,所以仍然有一些用户。
Concordion使用 HTML 来定义测试规范,并使用 Java (JUnit) 夹具来运行它们。FitNesse 和 Concordion 之间的主要区别(除了 FitNesse 使用 Wiki)是 FitNesse 固定装置是可重复使用的,而 Concordion 是针对特定场景定制的。这倾向于使 Concordion 固定装置更简单,并减少测试规范中的重复和不相关的值。
假设您正在使用 Java,我会推荐 Cucumber(如果受众只是开发人员)或 Concordion(如果规范的受众也可能包括非开发人员)。Concordion 规范采用 HTML 格式,这意味着它们可以超链接在一起,并作为格式良好的文档进行双重处理。