Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Dúvidas quanto á função done()

Só para ver se entendi bem para que serve a função done().

Como são utilizados callbacks, o primeiro callback é na função it

    it("#Listagem JSON", done => {

    });

Enquanto a operação de I/O é feita nessa primeira função, ele continua a execução do script para:

        request.get("/produtos")
            .set("Accept","application/json") 
            .expect("Content-Type",/json/) 
            .expect(200,done);

Internamente ao SuperTest, ele executa um outro callback, porém como a requisição de cima começou antes, provável que ela termina antes da execução do próximo callback. Por isso é utilizado o done() para indicar que só deve seguir a próxima instrução quando o callback for completamente finalizado (função síncrona)?

1 resposta
solução!

Isso Leonardo, nesse caso é a função assíncrona por que você não sabe exatamente quando ela vai terminar. Síncrona acontece ali na hora, assíncrona é indeterminado. O done vai servir justamente pra que o supertest espere um tempo até a função terminar.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software