BDD和TDD为node.js?
什么是用于BDD和TDD与node.js?
我习惯使用Cucumber + RSpec。 什么是node.js的一个很好的组合?
谢谢
更新
摩卡现在得到我的投票!
您可以查看node.js模块页面中的testing模块部分 。 例如誓言是一个非常受欢迎的BDD框架。
Vows是Node.js的行为驱动开发框架。
看看摩卡 – (github)
摩卡咖啡 ,我尝试在摩卡咖啡的黄瓜语法。
如果你习惯rspec, Jasmine是相当不错的。 我没有用Node.js,但是我用它来testing骨干应用程序。 它的语法和rspec非常相似。 从上面的网站采取:
describe("Jasmine", function() { it("makes testing JavaScript awesome!", function() { expect(yourCode).toBeLotsBetter(); }); });
它被列在上面的Alfred提供的链接中,但是由于人们列举了誓言作为一个例子,我想我会给茉莉花一个凹凸,特别是因为它在语法上类似于rspec;)
在Node http://vowsjs.org上有用于BDD的“Vows”项目,看起来相当不错。; 这与RSpec /黄瓜有些不同,但是非常有趣
也许稍后,但你要找的是Kyuri: https : //github.com/nodejitsu/kyuri
“kyuri是一个node.js黄瓜实现,带有一些额外的asynchronous关键字,它支持160多种语言并导出到VowsJS存根”
此外,nodejitsu似乎已经build立了一个web应用程序,以协作的方式pipe理项目Kyurifunction规格,它被命名为“prenup”,我会给它一个看看。
你也可以尝试YADDA 。 它插入到其他testing库,包括摩卡,茉莉,casper&webdriver,但也可以让你写适当的function文件,而不是仅仅注释你的原位testing。 一个典型的testing可能看起来像…
var Yadda = require('yadda'); Yadda.plugins.mocha(); feature('./features/bottles.feature', function(feature) { var library = require('./bottles-library'); var yadda = new Yadda.Yadda(library); scenarios(feature.scenarios, function(scenario, done) { yadda.yadda(scenario.steps, done); }); });
和function文件…
Feature: Mocha Asynchronous Example Scenario: A bottle falls from the wall Given 100 green bottles are standing on the wall when 1 green bottle accidentally falls then there are 99 green bottles standing on the wall
并输出…
Mocha Asynchronous Example ✓ A bottle falls from the wall 1 passing (12ms)
看看Buster.JS 。 由Christian Johansen创build,他在字面上写了关于javascripttesting的书 。
Buster支持TDD和BDD 。 它使用浏览器自动化进行浏览器testing(例如JsTestDriver),QUnit风格的静态HTML页面testing,在无头浏览器(PhantomJS,jsdom)中testing等等。
打包(bdd和嘲笑) https://npmjs.org/package/a
非常紧凑的语法,与行为分离的上下文,可链接的行为。 简单的命令行转轮searchrecursion。
unit testing : 摩卡是伟大的unit testing。
BDDtesting如果你想要一个Node.js的BDDtesting框架,那么我build议使用Cucumber包。
上个月我也经历过同样的担忧。
对于BDD:
虽然摩卡本身通过描述和陈述来提供BDD风格。
对于像黄瓜这样的风格,你可以尝试:
- 摩卡蛋糕
- 摩卡小黄瓜
- cucumber.js
- kyuri
- 摩卡黄瓜
他们都有自己的风格。 对不起,我现在不能提供工作片段,让我知道@唐纳德你select哪一个。 想知道你的见解。
我也在寻找一个好的黄瓜实施,发现了很好但不是很全面的摩卡蛋糕/摩卡蛋糕2。 所以我build立了自己的摩卡作为基础,它与包括情景大纲在内的黄瓜语言是平等的。 这也使得在testing中引用数据变得很容易。 它不同于cucumber.js作为它的所有内联而不是单独的文件。 你可以在这里find这个项目:
livedoc,摩卡