Использование функции setTimeout () в mocha - PullRequest
0 голосов
/ 08 марта 2019

Я пытаюсь использовать функцию обратного вызова setTimeout в своих модульных тестах. По сути, после выполнения теста необходимо подождать 2 секунды, прежде чем он сможет выполнить следующие тесты. Тем не менее, я получаю эту ошибку при выполнении:

  Error: Timeout of 2000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves.

Вот мой код:

function delay(seconds,callback) {
    setTimeout(callback, seconds*1000);
}

describe('/REGISTER users', () => {
    it('should not REGISTER a user without a fullname field', (done) => {
            console.log('Starting delays');
            delay(2, () => {
                console.log('Two seconds delayed');
                let user = {
                    email: 'nilesh_maharjan@gmail.com',
                    password: 'abcdefghij'
                }
                chai.request(server)
                .post('/api/register')
                .send(user)
                .end((err, res) => {
                    res.should.have.status(422);
                    res.body.should.be.a('object');
                    res.body.should.not.have.property('fullname');
                    done(); 
                });
            });           
    });

    it('should REGISTER a user', (done) => {
        console.log('Starting delays');
        delay(2, () => {
            console.log('Two seconds delayed');
            let user = {
                email: 'mjn.nileshabcd@gmail.com',
                password: 'abcdefghij',
                fullname: 'Nilesh Maharjan'
            }
            chai.request(server)
            .post('/api/register')
            .send(user)
            .end((err, res) => {
                res.should.have.status(201);
                res.body.user.should.have.property('email');
                done();
            });
        });        
    });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...