2017-01-26 1 views
0

J'ai un test simple avec chai-http, dans lequel j'essaie de tester plusieurs URL en utilisant async.each, mais quand la requête prend plus que 2 secondes, alors j'ai eu l'erreur. J'appelle "fait" comme je pense est correct, mais je continue à obtenir l'erreur, qu'est-ce que je fais mal? L'erreur est montrée même sans async, juste la demande simple de chai, avec seulement une demande ... ainsi presque sûr n'est pas un problème asynchrone mais moi utilisant chaiHttp mauvais.chai-http et async.each, en lançant "Timeout de 2000ms dépassé ..."

J'ai aussi essayé avec "then/catch" au lieu de "end", mais le résultat est le même.

J'ai un problème similaire, dans le même script de test, mais avec la DB, si cela prend plus de 2 secondes avec la requête, il casse ... même erreur, en utilisant aussi « fait »:

before((done) => { 
    // runs before all tests in this block 
    const params = { 
    TableName: "mytable" 
    }; 

    mydb.scan(params, (err, records) => { 
    if(err) console.log(err); 
    for(let i = 0; i < records.Items.length; i++){ 
     //...some ifs, nothing async 
    } 
    done(); 
    }); 
}); 

Répondre

1

Si votre test prend plus de temps que 2000ms, envisagez de prolonger le délai d'attente pour votre test pourrait résoudre votre problème

it("it should GET the required images", (done) => { 
    this.timeout(5000); 
    //... 
+1

d'accord. Ajouter un lien vers la documentation pour plus d'explications. https://mochajs.org/#timeouts – user2263572

+0

Merci à vous deux, cela fonctionne très bien! – Laerion