面向Java平台的商业BDD工具
在过去的几周里,我一直在试验几种Java验收测试框架(例如Fitnesse、JBehave) 在决定使用哪一种之前,我试图找出是否有任何商业替代品,但没有真正找到。欢迎指点 我们的要求是(不完整且未分类的列表):面向Java平台的商业BDD工具,java,testing,bdd,acceptance-testing,Java,Testing,Bdd,Acceptance Testing,在过去的几周里,我一直在试验几种Java验收测试框架(例如Fitnesse、JBehave) 在决定使用哪一种之前,我试图找出是否有任何商业替代品,但没有真正找到。欢迎指点 我们的要求是(不完整且未分类的列表): 使用给定/何时/然后样式的文本和表格 集成标准库,如JUnit、Mockito IDE集成/工具 良好的报告能力(业务分析师的可读性,开发人员的诊断能力) 看看 但我不确定它是否商业化。对于商业替代品: Thoughtworks' Paul Gerrard的,它也参与了一些更高级别
- 使用给定/何时/然后样式的文本和表格
- 集成标准库,如JUnit、Mockito
- IDE集成/工具
- 良好的报告能力(业务分析师的可读性,开发人员的诊断能力)
但我不确定它是否商业化。对于商业替代品:
- Thoughtworks'
- Paul Gerrard的,它也参与了一些更高级别的BDD模式,识别利益相关者并跟踪场景与更大规模需求的关系
DSL的另一个好处是它是一种快速、廉价的入门方式,没有Cucumber或JBehave的设置开销;但是生成的步骤稍后很容易移植到像JBehave这样的东西(您只需将代码移动到JBehave的regex步骤,如果您不能使用Twist做类似的事情,我会感到惊讶)。由于您不确定自己的需求,因此我建议您使用此方法,因为它将帮助您以非常便宜的价格开始并获取有关您真正需要的更多信息。如果您可以使用Groovy,我已经取得了巨大的成功。您也可以使用它来进行ui测试。我们后来从使用Geb切换到使用它,因为它提供的强大功能更便宜。我们仍然使用Spock进行所有服务测试(WebService、REST等)。阅读我在这里的另一个相关答案我想看看()——是的,我必须承认它是一个开源工具,而不是商业工具。然而,根据您的需求列表,它可能是一个很好的选择:
- 由于协和规范是用简单的英语编写的,所以您可以使用给定的/when/then短语以及表格。在我们的项目中,我们更进一步,基于Concordion技术编写文档。因此,您将收到一个动态文档系统,在该系统中,自动化将检查您对预期行为的描述是否与实际应用程序同步
- Concordion使用JUnit运行测试/活动规范。在fixture类中,您可以使用您喜欢的任何框架,比如Mockito。我在我的项目中成功地使用了Concordion和Mockito的组合
- Concordion的IDE集成很好,因为它基于JUnit。因此,只要有JUnit支持,就可以使用Concordion。我一直在使用EclipseIDE,您可以通过从上下文菜单中调用“RunasJUnitTest”来运行和调试一致性测试
- Concordion提供基于您的规范的HTML报告。因此,您的业务人员可以通过查看指定的描述并阅读系统提供的报告输出,轻松地看到哪里出了问题。差异通过HTML文档中的一致性可视化。此外,由于协和测试是由JUnit运行的,因此您将获得JUnit可能使用过的所有报告支持。与任何其他JUnit测试一样,您可以轻松地调试协调测试,例如在EclipseIDE中