我的团队正在使用Play框架开发一个Java web系统,并在整个过程中实现Angular.js。我的问题是,我应该使用Cucumber-java还是Cucumber.js来进行自动化的BDD功能测试?在针对此技术堆栈使用它们时,每种方法的优缺点是什么?
我在网上几乎没有找到与这个特定的技术堆栈一起使用的东西。
发布于 2015-01-18 01:22:40
首先,黄瓜被设计成一个collaboration tool。如果您正在寻找一个测试自动化工具,那么您最好选择一些不会增加设计和维护纯英语、无处不在的语言的开销的工具。
如果您正在与非技术利益相关者协作,那么Cucumber是一个很好的选择。整个团队将协作编写场景,但开发人员和测试人员将编写将场景与您正在构建的应用程序联系起来的“粘合剂”。如果选择Cucumber-JVM,则使用Java/Groovy (或其他JVM语言)编写胶水代码;如果选择Cucumber-JS,则使用Javascript编写胶水代码。因此,其中一个要问的问题是“我的测试人员和开发人员最习惯使用哪种语言?”
您可能主要通过应用程序公开的接口(例如图形用户界面或发布的RESTful应用程序接口)来驱动应用程序。无论你选择哪个Cucumber,你的“粘合”代码都会使用一些其他的库来与你的应用程序交互(例如Selenium WebDriver),所以你要问自己的另一个问题是“我需要的库是否可用于Java或Javascript?”
有时你可能想要你的“胶水”代码到talk directly to your application code。Cucumber-JS 'glue‘可以很容易地直接调用Javascript,Cucumber-JVM 'glue’可以很容易地直接调用Java -所以这可能会影响你的选择。但是请记住,只有少数场景通常会绕过应用程序的接口,因此,如果这是您的主要障碍,您应该重新审视您的BDD方法。在这些slides中也讨论了其中的一些权衡
最后,我的感觉是Cucumber-JVM目前比Cucumber-JS更成熟。Aslak Helesøy和Julien Biezeman是Cucumber Ltd (和Matt Wynne)的创始人,所以我预计他们会在某个时候达到平价。有关黄瓜的更多信息,请查看他们的online videos或buy插件The Cucumber for Java Book>。
发布于 2015-01-07 22:23:22
在从开源的角度签署供应商锁之前,我会比较一下:
Cucumber-JVM
GitHub: /cucumber/cucumber-jvm/issues

→Aslak’s view of BDD, Cucumber and automated testing, December 12, 2014
Cucumber.js
GitHub: /cucumber/cucumber-js/issues

→Cucumber.js for BDD in JavaScript: An Interview with Julien Biezemans, April 15, 2014
用户的声音可能也是一个很好的指标,但它属于网站的off-topic类别
主要是基于意见的
许多好的问题会根据专家的经验产生一定程度的意见,但对这个问题的回答往往几乎完全基于意见,而不是事实、参考资料或特定的专业知识。
https://stackoverflow.com/questions/27813448
复制相似问题