233 votes

Dans mocha testing, lors de l'appel d'une fonction asynchrone, comment éviter le dépassement du délai d'attente ? Erreur : dépassement du délai d'attente de 2000 ms.

Dans mon application node, j'utilise mocha pour tester mon code. En appelant de nombreuses fonctions asynchrones avec mocha, j'obtiens une erreur de timeout ( Error: timeout of 2000ms exceeded. ). Comment puis-je résoudre ce problème ?

var module = require('../lib/myModule');
var should = require('chai').should();

describe('Testing Module', function() {

    it('Save Data', function(done) {

        this.timeout(15000);

        var data = {
            a: 'aa',
            b: 'bb'
        };

        module.save(data, function(err, res) {
            should.not.exist(err);
            done();
        });

    });

    it('Get Data By Id', function(done) {

        var id = "28ca9";

        module.get(id, function(err, res) {

            console.log(res);
            should.not.exist(err);
            done();
        });

    });

});

0voto

il0v3d0g Points 415

Mon problème était de ne pas renvoyer la réponse, donc il était suspendu. Si vous utilisez express, assurez-vous que res.send(data), res.json(data) ou toute autre méthode api que vous souhaitez utiliser est exécutée pour la route que vous testez.

0voto

kavigun Points 1431

Assurez-vous de résoudre/rejeter les promesses utilisées dans les cas de test, qu'il s'agisse de spies ou de stubs, assurez-vous qu'elles soient résolues/rejetées.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X