4

我希望在后端基于web2py和前端基于Ember的项目中采用敏捷开发。为此,我想使用行为驱动开发 (BDD)工具,例如CucumberCapybara for Rails一个隐含的要求是编写用户故事的团队成员应该能够编写和运行 BDD 测试,而无需深入了解正在开发的代码

我认为Cucumber.js结合Zombie.jsorSelenium将是一个很好的方法,但是还有Jasmineand Mocha。两者都声称为 JavaScript 启用BDD测试,但我觉得它们更适合单元测试,而不是通过模拟真实用户如何与应用程序交互来测试 Web 应用程序。

任何尝试过BDD的人都可以Cucumber.js分享Jasmine他们Mocha的观点,即哪一个是使用 javascript 进行 BDD 的更好选择吗?

另外,还有其他选择吗?

4

1 回答 1

3

对于完整的 BDD 测试堆栈,您可以使用:

1)cucumber.js + selenium + Soda(或其他节点适配器)+ node.js

或者

2)黄瓜.js +僵尸.js +节点.js

我个人会选择第二个选项,因为 cucumber.js 在解析用 Gherkin 语法编写的场景/功能/步骤定义后为您提供了存根 javascript 代码。您可以使用此代码并另外设置您的僵尸世界,并为您的测试套件提供所有必要的断言辅助函数,并且您已全部设置完毕。我在 selenium 中看到的唯一优势是他的 Webdriver 功能(酱实验室等)和记录功能,但我认为zombie.js 中用于驱动测试的语法非常严格,也许你不需要所有功能硒为您提供。

关于 mocha 和 jasmine,如果您想要 Gherkin 语法,那么没有人会为您提供此功能,但是如果您想以 Rspec 语法样式编写所有测试,您可以使用其中之一而不是 cucumber.js,这完全取决于重要程度Gherkin 风格适合您。

于 2013-01-13T17:35:59.667 回答