node.js的BDD和TDD?

时间:2011-01-16 14:56:55

标签: node.js rspec tdd cucumber bdd

用于node.js的BDD和TDD是什么?

我习惯使用Cucumber + RSpec。 node.js有什么好的组合?

感谢

11 个答案:

答案 0 :(得分:59)

<强>更新

Mocha立即投票!


您可以从node.js模块页面查看testing modules section。例如,Vows是一个非常流行的BDD框架。

  

Vows是Node.js的行为驱动开发框架。

答案 1 :(得分:18)

结帐mocha - (github)

同样mocha-cakes,我在mocha上尝试使用Cucumber语法。

答案 2 :(得分:15)

如果你习惯了rspec,Jasmine非常好。我没有在Node.js上使用它,但我用它来测试骨干应用程序。它的语法与rspec非常相似。取自上面的网站:

describe("Jasmine", function() {
  it("makes testing JavaScript awesome!", function() {
    expect(yourCode).toBeLotsBetter();
  });
});

它列在Alfred上面提供的链接中,但是由于人们以Vows为例,我认为我会给Jasmine带来一个冲击,特别是因为它在语法上类似于rspec;)

答案 3 :(得分:9)

节点http://vowsjs.org上有BDD的'誓言'项目,看起来很不错。它与RSpec / Cucumber略有不同,但它非常有趣

答案 4 :(得分:3)

也许过了一会儿,但你要找的是Kyuri:https://github.com/nodejitsu/kyuri

“kyuri是一个node.js Cucumber实现,带有一些额外的异步关键字。它支持160多种语言并导出到VowsJS存根”

此外,nodejitsu似乎已经构建了一个用于以协作方式管理项目Kyuri功能规范的Web应用程序,它被命名为“prenup”,我想看一看。

答案 5 :(得分:3)

您也可以尝试yadda。它插入其他测试库,包括mocha,jasmine,casper&amp; amp; webdriver,但也允许您编写适当的功能文件,而不是仅仅在现场注释您的测试。典型的测试可能看起来像......

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);
   });
});

功能文件......

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)

答案 6 :(得分:2)

结帐Buster.JS。由克里斯蒂安约翰森创作,他真实地写了the book on javascript testing

Buster同时支持TDD和BDD。它使用浏览器自动化进行浏览器测试(想想JsTestDriver),QUnit样式静态HTML页面测试,无头浏览器测试(PhantomJS,jsdom)等等。

答案 7 :(得分:1)

打包 a (bdd和嘲笑) https://npmjs.org/package/a

非常紧凑的语法,与行为分离的上下文,可链接的行为。 Easy Cmd line runner,可以递归搜索。

答案 8 :(得分:1)

单元测试Mocha非常适合单元测试。

BDD测试如果您想要Node.js的BDD测试框架,那么我建议使用Cucumber包。

答案 9 :(得分:0)

上个月我经历了同样的担忧。

对于BDD:

虽然Mocha本身通过他们的描述和声明来提供BDD风格。

对于黄瓜等风格,您可以尝试:

  • 摩卡蛋糕
  • 摩卡小黄瓜
  • cucumber.js
  • kyuri
  • 摩卡黄瓜

他们都有自己的风格。对不起,我现在无法提供工作片段,让我知道@Donald你选择哪一个。想了解您的见解。

答案 10 :(得分:0)

我也在寻找一个好的小黄瓜实现,发现mocha-cakes / mocha-cake-2很不错,但功能不是很全。所以我用mocha作为基础构建了自己的基础,它与小黄瓜语言相同,包括场景大纲。它还可以轻松引用测试中的数据。它与cucumber.js的不同之处在于它的所有内联都不是单独的文件。你可以在这里找到这个项目:

livedoc-mocha