Pruebas de bucle a través de JavaScript asíncrono (Mocha)
Estoy tratando de probar JavaScript asincrónico con Mocha, y tengo algunos problemas con el bucle a través de una matriz llena asincrónicamente.
Mi objetivo es crear N (=arr.length
) pruebas, una para cada elemento de la matriz.
Probablemente hay algo sobre la semántica de Mocha que me estoy perdiendo.
Este es mi código simplificado (que no funciona) hasta ahora:
var arr = []
describe("Array test", function(){
before(function(done){
setTimeout(function(){
for(var i = 0; i < 5; i++){
arr.push(Math.floor(Math.random() * 10))
}
done();
}, 1000);
});
it('Testing elements', function(){
async.each(arr, function(el, cb){
it("testing" + el, function(done){
expect(el).to.be.a('number');
done()
})
cb()
})
})
});
La salida que recibo es:
Array test
✓ Testing elements
1 passing (1s)
Me gustaría tener una salida como esta:
Array test
Testing elements
✓ testing3
✓ testing5
✓ testing7
✓ testing3
✓ testing1
5 passing (1s)
¿Alguna ayuda sobre cómo escribir esto?