unitarios unitarias tutorial test pruebas node lista librerias framework etiquetas español javascript unit-testing test-framework

unitarias - ¿Cuál es la diferencia entre la biblioteca de afirmaciones, el marco de prueba y el entorno de prueba en JavaScript?



pruebas unitarias node js (2)

El entorno de prueba (o corredor de prueba) es el que ejecuta todas sus pruebas. Los lanza, agrega resultados, etc.

El marco de prueba es lo que usa para crear cada una de las pruebas. Por ejemplo, jazmín usa una sintaxis de

it(''name of test'', function() { // do some tests });

La biblioteca de afirmaciones es lo que hace la verificación real de los resultados de su prueba

it(''name of test'', function() { assert x == 5 //pseudocode, the syntax will vary based on your asserting framework });

Chai es una biblioteca de aserciones.

Mocha y Jasmine están probando frameworks.

y Karma es un entorno de prueba.

Ya leí Diferencia entre los marcos de prueba disponibles: mocha, chai, karma, jazmín, should.js, etc.


Las bibliotecas de afirmación son herramientas para verificar que las cosas estén correctas.
Esto hace que sea mucho más fácil probar tu código, por lo que no tienes que hacer miles de declaraciones if .
Ejemplo (utilizando el módulo de afirmación should.js y Node.js):

var output = mycode.doSomething(); output.should.equal(''bacon''); //should.js assert.eq(output, ''bacon''); //node.js assert // The alternative being: var output = mycode.doSomething(); if (output !== ''bacon'') { throw new Error(''expected output to be "bacon", got ''+output); }

Los marcos de prueba se utilizan para organizar y ejecutar pruebas.
Mocha y Jasmine son dos opciones populares (y en realidad son bastante similares).
Ejemplo (usando mocha con should.js aquí):

describe(''mycode.doSomething'', function() { it (''should work'', function() { var output = mycode.doSomething(); output.should.equal(''bacon''); }); it (''should fail on an input'', function() { var output = mycode.doSomething(''a input''); output.should.be.an.Error; }); });

Entornos de prueba son los lugares donde ejecuta sus pruebas.

Karma es un caso marginal, en el sentido de que es una herramienta única, no muchas como esta. Karma funciona ejecutando las pruebas de su unidad dentro de los navegadores (por defecto, PhantomJS, un navegador WebKit sin cabeza), para permitirle probar el código JavaScript basado en el navegador.

Los marcos como Mocha y Jasmine funcionan tanto en el navegador como en Node.js, y por lo general están predeterminados en Nodo.