Testes de loop pelo JavaScript assíncrono (Mocha)
Estou tentando testar o JavaScript assíncrono com o Mocha e tenho alguns problemas com o loop através de uma matriz preenchida de forma assíncrona.
Meu objetivo é criar N (=arr.length
) testes, um para cada elemento da matriz.
Provavelmente há algo sobre a semântica do Mocha que estou sentindo falta.
Este é o meu código simplificado (não funciona) até agora:
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()
})
})
});
A saída que recebo é:
Array test
✓ Testing elements
1 passing (1s)
Eu gostaria de ter uma saída como esta:
Array test
Testing elements
✓ testing3
✓ testing5
✓ testing7
✓ testing3
✓ testing1
5 passing (1s)
Alguma ajuda sobre como escrever isso?