BDD y TDD para node.js?

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

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

Gracias

Actualizar

Mocha obtiene mi voto ahora!


Puede consultar la sección de módulos de prueba en la página de módulos de node.js. Por ejemplo, Vows es un framework BDD bastante popular.

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

Echa un vistazo a mocha – (github)

También moca-pasteles , mi bash de syntax de pepino en moca.

Si estás 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 syntax es muy similar a rspec. Tomado del sitio anterior:

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

Está listado en el enlace proporcionado por Alfred arriba, pero como la gente mencionó los Votos como ejemplo, pensé que le daría un golpe al Jasmine, especialmente porque es sintácticamente similar a rspec;)

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

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

“kyuri es una implementación de pepino node.js con algunas palabras clave asíncronas adicionales. Admite más de 160 idiomas y exporta a stubs VowsJS”

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

También puedes probar yadda . Se conecta a otras bibliotecas de prueba, como mocha, jasmine, casper y webdriver, pero también le permite escribir los archivos de características adecuados en lugar de simplemente anotar sus pruebas in situ. Una prueba típica podría parecer …

 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 características …

 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) 

Echa un vistazo a Buster.JS . Creado por Christian Johansen, quien literalmente escribió el libro sobre las pruebas de JavaScript .

Buster soporta tanto TDD como BDD . Realiza pruebas de navegador con automatización de navegador (piense en JsTestDriver), pruebas de página de HTML estático de estilo QUnit, pruebas en navegadores sin cabeza (PhantomJS, jsdom) y más.

Paquete a (bdd y simulacro) https://npmjs.org/package/a

Sintaxis muy compacta, contexto separado de actos, actos imposibles de organizar. Corredor de línea fácil de Cmd que busca recursivamente.

Pruebas unitarias : Mocha es ideal para pruebas unitarias.

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

Yo estaba pasando por la misma preocupación el mes pasado.

Para BDD:

Aunque Mocha en sí proporciona un estilo BDD por sus descripciones y descripciones.

Para estilos como el pepino, puedes probar:

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

Todos ellos tienen sus propios estilos. Lo siento, no puedo proporcionar fragmentos de trabajo ahora. Avísenme a @Donald cuál seleccionó. Quisiera saber su percepción.

Yo también estaba buscando una buena implementación de Gherkin, encontré mocha-cakes / mocha-cakes-2 que eran bonitas pero no muy completas. Así que construyo mi propio con mocha como base, que tiene paridad con el lenguaje pepinillo, incluidos los contornos de escenarios. También facilita la referencia de los datos en su prueba. Es diferente a cucumber.js ya que todos sus archivos en línea no están separados. Puedes encontrar el proyecto aquí:

livedoc-mocha

    Intereting Posts