2011-01-16 37 views
68

¿Qué se usa para BDD y TDD con node.js?BDD y TDD para node.js?

Estoy acostumbrado a usar Cucumber + RSpec. ¿Qué es un buen combo para node.js?

gracias

Respuesta

58

Actualizar

Mocha mi voto ahora!


Se puede echar un vistazo a la testing modules section desde la página de módulos de Node.js. Por ejemplo, Vows es un marco de BDD bastante popular.

Vows es un marco de desarrollo basado en el comportamiento para Node.js.

+0

'interfaz bdd' Mocha pone muy cerca de RSpec, pero todavía carece de los perezosos let' /' 'sutilezas subject'. Creé una interfaz separada para mocha llamada 'lazy-bdd' que tiene estas adiciones: https://www.npmjs.com/package/mocha-lazy-bdd – ghempton

9

Existe el proyecto 'Votos' para BDD en el Nodo http://vowsjs.org, se ve muy bien. Es un poco diferente de RSpec/Cucumber, pero es bastante divertido

15

Si está acostumbrado a rspec, Jasmine es bastante agradable. No lo he usado en Node.js, pero lo he usado para probar una aplicación de red troncal. Su sintaxis es muy similar a rspec. Tomado del sitio de arriba:

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

Es que aparece en el enlace proporcionado por Alfred anterior, pero desde Folks Votos mencionados como ejemplo, que pensé que le daría Jasmine un bache, especialmente porque es sintácticamente similar a rspec;)

+1

Eso sería jasmine-node https://github.com/ mhevery/jasmine-node –

3

Tal vez un poco más tarde, pero lo que estás buscando es Kyuri: https://github.com/nodejitsu/kyuri

"kyuri es una aplicación Node.js pepino con algunas palabras clave asíncronos adicionales que soporta más de 160 idiomas y las exportaciones a VowsJS. talones "

Además, nodejitsu parece haber creado una aplicación web para gestionar las características de un proyecto Kyuri de forma colaborativa, se llama "prenup", yo le daría un vistazo.

18

Salida mocha - (github)

también mocha-cakes, mi intento de sintaxis Pepino en moca.

+0

¡Gracias por mencionar tortas de moca! Muy bueno :) –

+1

¿Por qué * debería * Usar la sintaxis de pepino con mocha _now_? – hellboy

2

Consulte Buster.JS. Creado por Christian Johansen, quien literalmente escribió the book on javascript testing.

Buster admite TDD y BDD. Realiza pruebas de navegador con la automatización del navegador (piense en JsTestDriver), prueba de páginas HTML estáticas de estilo QUnit, pruebas en navegadores sin cabeza (PhantomJS, jsdom) y más.

1

paquete un (bdd y de burla) https://npmjs.org/package/a

sintaxis muy compacto, el contexto separado de actos, actos encadenables. Corredor de línea Easy Cmd que busca recursivamente.

3

También puedes probar yadda.Se conecta a otras bibliotecas de prueba, incluyendo mocha, jazmín, casper & webdriver, pero también le permite escribir archivos de características correctas en lugar de meramente anotar sus pruebas in situ. Una prueba típica podría ser como ...

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

y el archivo de función ...

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 

y salida ...

Mocha Asynchronous Example 
✓ A bottle falls from the wall 

1 passing (12ms) 
1

Unidad de prueba: Mocha es grande para pruebas unitarias

Pruebas de BDD Si desea un marco de prueba de BDD para Node.js, le recomiendo el paquete Cucumber.

0

Estaba pasando por la misma preocupación el mes pasado.

para BDD:

Aunque sí Mocha proporciona estilo BDD por sus declaraciones describir y TI.

Para los estilos como el pepino, puede intentar:

  • moca-tortas
  • moca-pepinillo
  • cucumber.js
  • kyuri
  • moka-pepino

Todos ellos tienen sus propios estilos. Lamento que no pueda proporcionar fragmentos de trabajo ahora. Avíseme a qué nombre seleccionó. Me gustaría saber su opinión.

0

Yo también estaba buscando una buena implementación de Gherkin, encontré mocha-cakes/mocha-cakes-2 que eran agradables pero no muy completas. Así que construyo el mío con mocha como base, que tiene paridad con el lenguaje pepinillo, incluidos los Esquemas. También hace que sea fácil hacer referencia a los datos en su prueba. Es diferente a cucumber.js ya que son todos archivos en línea no separados. Puede encontrar el proyecto aquí:

livedoc-mocha