unit test nodejs node.js mongoose jasmine mocha

node.js - test - Jazmín(mocha) anidó pruebas de "eso"



unit test express api (2)

Vea este problema: https://github.com/visionmedia/mocha/issues/438

Parece que la intención es forzar pruebas para desacoplarse. Si bien es incómodo y posiblemente requiera más burla, este comportamiento es útil porque requiere menos reevaluaciones y proporciona una imagen más clara de qué es exactamente lo que está fallando.

es decir, hay 2 pruebas, prueba A y prueba B, donde B depende de A.

La prueba A se rompe, B, por lo tanto, se rompe también. Arregla lo que está quebrando la prueba A, pero ahora puede sorprenderse al descubrir que la prueba B se rompió en el proceso de corrección, o por una razón no relacionada.

Cuando las pruebas no dependen entre sí, tiene mejor información y menos sorpresas.

Estaba tratando de probar la consiguiente creación / eliminación de elementos (en mongoDB a través de mangosta).

El problema de que la creación es asincrónica y devuelve el ID del elemento creado en la función de devolución de llamada, necesito este ID para eliminar el elemento creado, así que probé el siguiente código para mocha (de diferentes maneras) pero no funcionó.

describe(''Item Model'', function(){ it(''should be able to create item'', function(done){ var item = new Item({name: {first: "Alex"}); item.save(function(err, data){ it(''should be able to deleted created item'', function(done){ Item.delete({_id: data.id}, function(err, data){ done(err); }); }); }) }); });

¿Se puede implementar tal prueba en mocha o jazmín?


Tendría dos pruebas para eso. Uno que está probando insert y otro que prueba eliminar.

Debería verse algo así en coffeescript

describe ''Item model'', () -> item = '''' before (done) -> item = new Item {name: {first: "Alex"}} done describe ''When inserting Item'', () -> before (done) -> item.save done it ''should have been insterted'' -> #CHECK HERE IT IF IT IS INSERTED decribe ''when deleting'', () -> before (done) -> item.save (err,data) -> return done err if err Item.delete {_id: data.id}, done it ''should have been deleted'' -> #CHECK HERE IT IF IT IS Deleted