Marco de testings unitarias para node.js que específicamente admite la testing de código asíncrono?

Hay más de 30 frameworks de testing listdos en la list de modules node.js

¿Qué frameworks son los más populares? ¿Y cuáles son sus pros y contras?

Estoy buscando un marco que admita testings unitarias de código que tenga muchas devoluciones de llamada asincrónicas (probablemente como la mayoría de otros proyectos de nodos). Además, estoy buscando algo bastante simple y pequeño que complejo.

Hasta ahora he investigado:

  • Nodeunit es sencillo y admite el código asynchronous al permitirle definir cuántas aserciones espera recibir y cuándo se realiza una testing.
  • Vowsjs se ve interesante. Le permite estructurar muy bien las testings y viene con muchas características avanzadas. ¿No está seguro de si estas características son realmente útiles o si se interponen en su path?

6 Solutions collect form web for “Marco de testings unitarias para node.js que específicamente admite la testing de código asíncrono?”

expresso y votos son las opciones más populares. Aunque hay muchas buenas opciones por ahí. Actualización: a partir de noviembre de 2011, Mocha es el sucesor de expresso , según el file Readme.md en el repository de expresso . should.js se usa a menudo con Mocha para permitir aserciones de estilo BDD.

Elija lo que elija, le recomiendo usarlo con cuidado en los modules centrales o de terceros.

Uso / mantengo la testosterona , un pequeño marco de testing que se ejecuta en serie para poder abusar suavemente. Sin embargo, no mucha gente lo está usando.

Desde marzo de 2012, hemos estado usando Nodeunit y no hemos mirado hacia atrás. Es sencillo y fácil de usar, le permite elegir entre dispositivos de nivel de module y nivel de class (configuration / desassembly), tiene un set razonable de aserciones integradas, y su herramienta de command-line es muy flexible. Intenta combinarlo con nodemon , también.

Vimos un Votos brevemente pero no queríamos una nueva syntax extraña para definir las testings. Todo lo que necesita son afirmaciones, accesorios y un arnés decente, y Nodeunit encaja perfectamente.

Esto es tan simple como se puede get un marco de testing, y admite llamadas asíncronas. Es la herramienta de testing para JQuery, por lo que puede estar seguro de que es altamente compatible y funciona bien.

Puede considerar la integración con Sinon , que es un marco de burla, que en particular le permite simular events asynchronouss. Este tutorial y las otras partes del tutorial vinculadas allí muestran cómo usar Sinon para probar el código asíncrono. Está en el browser, pero debería poder adaptarlo a las aplicaciones de nodo de testing.

Todavía no lo he usado, pero ¿qué pasa con Jasmine de Pivotal Labs?

Enchufe menor para mi propia biblioteca, pero lo más importante es que quiero que otros desarrolladores de arnés piensen en lo que debería ser una testing asincrónica en JS:

Escribí específicamente OKJS porque QUnit era tan inútil asynchronous. Quinit no capta las excepciones (!) Y requiere un inicio hacky () para mantener un logging de la profundidad.

Muchos de los frameworks de testing que existen no tienen un envoltorio de callback simple para probar los times de espera y detectar excepciones. No estoy seguro de por qué los llamados de confianza son el corazón del desarrollo asynchronous. = /

setTimeout(function() { ok( true, "Passed and ready to resume!" ); start(); }, 1000); 

OKJS detecta excepciones en los detectores de events y realiza un seguimiento de las requestes asíncronas pendientes con un desencadenante de hombre muerto interno que puede no pasar la testing.

  setTimeout( unit.callback("test callback is finetworking"), 500); setTimeout( unit.callback("callback finetworking, with subtests", function () { unit.assert("in callback, true === true", true,true); }), 500); 

Me encantaría ver que este estilo sea compatible con las soluciones empresariales. Algunas de las otras características que recomienda OKJS son los bloques de testing que se ejecutan en serie (estilo de receta), pero esperan entre bloques para que se resuelvan los events.

test-studio es un package npm que proporciona un front-end potente basado en web para testings unitarias. Actualmente, solo es compatible con mocha y proporciona elementos como la ejecución de testings individuales o grupales y el paso del inspector de nodos en testings individuales.

Lea más sobre esto aquí .

  • ¿Cómo puedo escribir la testing de jasmine para el controller angular y el service de esta manera?
  • ¿Qué es la testing de mitad de path?
  • No se puede burlar de un module con bromas y hacer llamadas a funciones de testing
  • Cómo probar un método encadenado utilizando Jasmine
  • ¿Por qué recibo "TypeError: no se puede leer la propiedad 'restaurar' de undefined" al trozar mongoose con sinon.js
  • ¿No sinon.js espía los errores de captura?
  • Cómo espiar una subfunction de una export con nombre en ES6
  • ¿Cómo me burlo de un service que promete en la testing de unidad Angularjs Jasmine?
  • Pruebas unitarias Haz clic en el componente exterior
  • ¿Cómo pruebo las funciones de JavaScript "normales" (no específicas del nodo) con Mocha?
  • Pruebas unitarias de funciones privadas en la Directiva AngularJS
  • Tropezar / burlarse de una biblioteca que devuelve una function cuando sea necesario
  • Pasando un argumento de línea de command a jstestdriver JAR de ANT?
  • Javascript tiene muchos buenos JS marco (como Node.js AngularJS Vue.js React.js) es el mejor lenguaje de script.