我想开始在我的一个 Node.js 项目中使用 BDD。查看 Node.js wiki,我发现至少 3 个模块:Cucumber、gherkin和cucumis,它们都支持 gherkin 语言。你推荐哪些?
2 回答
Cucumber.js 是 Cucumber 的官方端口。它得到 Cucumber 社区的支持,旨在尽可能地与其兄弟(Cucumber-ruby、Cucumber-jvm)兼容。它通过与 Cucumber-ruby 和 Cucumber-jvm 相同的小黄瓜功能套件进行了严格测试。
Node.js 和浏览器环境都支持 Cucumber.js。它使用官方的 Gherkin 解析器,就像 Cucumber-ruby 一样。
我对 Cucumis 不是很熟悉,但它相对于 Cucumber.js 的唯一优势是它支持并行场景执行。我们正在考虑 Cucumber.js 上的这样一个功能,但它需要更多思考,因为它具有最终用户必须完全理解的含义。
gherkin NPM 包不能按原样使用,它只提供 gherkin 解析器。
Cucumber.js 的README显示了一个开发状态表,可以帮助您确定它是否已准备好满足您的需求。
如果您需要 Cucumber.js 的支持,请在 Freenode 上的#cucumber 中大喊,在 Twitter 上联系我们或写信给Cukes 列表。
你也可以看看雅达。它是一个 BDD 框架,具有类似 Gherkin 的语法(不是 100% 兼容),它搭载在您现有的测试运行程序(例如 mocha、jasmine、casper、qunit)上。因此,报告的格式与您的单元测试相同。