Я пытаюсь использовать функцию обратного вызова 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.info('Starting delays');
delay(2, () => {
console.info('Two seconds delayed');
let user = {
email: '[email protected]',
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.info('Starting delays');
delay(2, () => {
console.info('Two seconds delayed');
let user = {
email: '[email protected]',
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();
});
});
});
});
Возможный дубликат Изменить время ожидания по умолчанию для мокко





вы пробовали увеличить время?