就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the help center为指导。
8年前关闭。
我希望在后端基于 web2py 和前端基于 Ember 的项目中采用敏捷开发。为此,我想使用行为驱动开发 (BDD) 工具,例如 Cucumber 和 Capybara for Rails。一个隐含的要求是编写用户故事的团队成员应该能够编写和运行 BDD 测试,而无需深入了解正在开发的代码。
我认为Cucumber.js
结合 Zombie.js
或 Selenium
将是一个很好的方法,但还有 Jasmine
和 Mocha
.两者都声称为 JavaScript 启用 BDD 测试,但我感觉它们更适合单元测试,而不是通过模拟真实用户如何与应用程序交互来测试 Web 应用程序。
任何用 Cucumber.js
尝试过 BDD 的人都可以吗? , Jasmine
或 Mocha
分享他们的观点,哪一个是使用 javascript 的 BDD 的更好选择?
另外,是否还有其他选择可以考虑?
最佳答案
对于完整的 BDD 测试堆栈,您可以使用:
1) cucumber.js + selenium + Soda (或其他节点适配器)+ node.js
或
2) cucumber.js + zombie.js + node.js
我个人会选择第二个选项,因为cucumber.js 在解析了用Gherkin 语法编写的场景/功能/步骤定义后为您提供了 stub javascript 代码。您可以使用此代码并另外设置您的僵尸世界,并为您的测试套件提供所有必要的断言辅助函数,您就完成了。我在 selenium 中看到的唯一优势是他的 Webdriver 功能(sauce labs 等)和记录功能,但我认为僵尸.js 中用于驱动测试的语法非常严格,也许您不需要所有功能 Selenium 为您提供。
关于 mocha 和 jasmine,如果你想要 Gherkin 语法,那么没有人会为你提供这个功能,但是如果你想以 Rspec 语法风格编写所有测试,你可以使用其中之一而不是 cucumber .js,这一切都取决于它的重要性小 cucumber 风格是给你的。
关于selenium - 使用 Javascript 进行敏捷开发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14305806/