BDD and TDD for node.js?

2019-03-07 14:55发布

What is used for BDD and TDD with node.js?

I'm used to use Cucumber + RSpec. What's a good combo for node.js?

thanks

11条回答
在下西门庆
2楼-- · 2019-03-07 15:32

I too was looking for a good Gherkin implementation, found mocha-cakes/mocha-cakes-2 which were nice but not very full featured. So I build my own with mocha as the base, which has parity with the gherkin language including Scenario Outlines. It also makes it easy to reference the data in your test. Its different to cucumber.js as its all inline not separate files. You can find the project here:

livedoc-mocha

查看更多
再贱就再见
3楼-- · 2019-03-07 15:34

Check out Buster.JS. Created by Christian Johansen, who literally wrote the book on javascript testing.

Buster supports both TDD and BDD. It does browser testing with browser automation (think JsTestDriver), QUnit style static HTML page testing, testing in headless browsers (PhantomJS, jsdom), and more.

查看更多
走好不送
4楼-- · 2019-03-07 15:35

Check out mocha - (github)

Also mocha-cakes, my attempt for Cucumber syntax on mocha.

查看更多
啃猪蹄的小仙女
5楼-- · 2019-03-07 15:38

You could also try yadda. It plugs into other test libraries including mocha, jasmine, casper & webdriver, but also lets you write proper feature files instead of merely annotating you tests in situ. A typical test might look like...

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

And the feature file...

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

And output...

Mocha Asynchronous Example
✓ A bottle falls from the wall 

1 passing (12ms)
查看更多
爱情/是我丢掉的垃圾
6楼-- · 2019-03-07 15:41

I was going through the same concern last month .

For BDD :

Though Mocha itself provides BDD style by their describe and it statements.

For styles like cucumber , you can try :

  • mocha-cakes
  • mocha-gherkin
  • cucumber.js
  • kyuri
  • mocha-cucumber

They all have their own styles. I am sorry I can not provide working snippets now , let me know @Donald which one you select. Would like to know your insight.

查看更多
爷的心禁止访问
7楼-- · 2019-03-07 15:43

Maybe a little later, but what you're looking for is Kyuri: https://github.com/nodejitsu/kyuri

"kyuri is a node.js Cucumber implementation with a few extra asynchronous keywords. it supports 160+ languages and exports to VowsJS stubs"

Also, nodejitsu seems to have built a web app for managing a project Kyuri feature specs in a collaborative way, it's named "prenup", I would give it a look.

查看更多
登录 后发表回答