节点.js的BDD和TDD?

BDD and TDD for node.js?

提问人:donald 提问时间:1/16/2011 最后编辑:Dave Schweisguthdonald 更新时间:9/14/2017 访问量:26043

问:

带有 node.js 的 BDD 和 TDD 使用什么?

我习惯使用黄瓜 + RSpec。node.js 的好组合是什么?

谢谢

节点.js rspec tdd 黄瓜 bdd

评论


答:

59赞 Alfred 1/17/2011 #1

更新

摩卡现在得到我的投票!


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

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

评论

0赞 ghempton 12/30/2014
Mocha 的界面非常接近 RSpec,但它仍然缺乏懒惰/细节。我为 mocha 创建了一个单独的接口,称为 它有以下补充: npmjs.com/package/mocha-lazy-bddbddletsubjectlazy-bdd
9赞 Nikolay 1/28/2011 #2

Node http://vowsjs.org 上有 BDD 的“Vows”项目,看起来很不错。它与RSpec/Cucumber有点不同,但很有趣

15赞 Craig Monson 6/14/2011 #3

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

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

它列在上面 Alfred 提供的链接中,但由于人们将 Vows 列为示例,我想我会给 Jasmine 一个颠簸,特别是因为它在语法上类似于 rspec ;)

3赞 Benja 8/26/2011 #4

也许稍晚一点,但你要找的是 Kyuri:https://github.com/nodejitsu/kyuri

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

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

18赞 Quang Van 12/17/2011 #5

查看 mocha - (github)

还有摩卡蛋糕,我在摩卡上尝试黄瓜语法。

评论

1赞 hellboy 3/2/2015
为什么我现在应该在摩卡中使用 cucumber 语法?
2赞 Tauren 12/9/2012 #6

查看 Buster.JS。由 Christian Johansen 创建,他写了一本关于 javascript 测试的书

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

1赞 Lars-Erik Roald 5/21/2013 #7

A (bdd 和 mocking) https://npmjs.org/package/a

非常紧凑的语法,上下文与行为分离,可链接的行为。 简单的 Cmd 行运行器,可递归搜索。

3赞 cressie176 10/31/2013 #8

你也可以试试yadda。它插入到其他测试库中,包括mocha、jasmine、casper和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)
1赞 Thomas Bratt 1/13/2014 #9

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

BDD 测试如果你想要一个用于 Node.js 的 BDD 测试框架,那么我推荐 Cucumber 包。

0赞 user3251882 5/27/2016 #10

上个月我遇到了同样的担忧。

对于BDD:

尽管 Mocha 本身通过其描述和 it 语句提供了 BDD 样式。

对于像黄瓜这样的款式,你可以试试:

  • 摩卡蛋糕
  • 摩卡小黄瓜
  • Cucumber.js
  • 久里
  • 摩卡黄瓜

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

0赞 dnp 9/14/2017 #11

我也在寻找一个好的 Gherkin 实现,找到了 mocha-cakes/mocha-cakes-2,它们很好,但功能不是很齐全。因此,我以摩卡为基础构建了自己的语言,它与小黄瓜语言(包括场景大纲)具有同等性。它还使在测试中引用数据变得容易。它与 cucumber.js 不同,因为它都是内联的,而不是单独的文件。您可以在此处找到该项目:

livedoc-摩卡