Я пытаюсь запустить модульное тестирование в моем приложении, но тайм-аут модульного теста. Когда я углубился в это, я обнаружил, что время ожидания, когда приложение пытается установить данные сеанса. Если я удаляю строку кода установки сеанса, модульное тестирование продолжается (но не удается, поскольку требуются данные сеанса).
// unit test code;
describe('Check if endpoint are reachable', () => {
before(function(done) {
// call /router to generate session;
AGENT.get('/router')
.query(clientData)
.expect(302)
.end((err, res) => {
if (!err) {
done()
} else {
done(err);
}
});
});
// .......
});
// controller code where the session is set;
// .....
req.session.clientData = clientData;
// ....
Когда я запускаю код, я получаю следующую ошибку:
Ошибка: превышено время ожидания 2000 мс. Для асинхронных тестов и хуков убедитесь, что вызывается «done ()»; если вы возвращаете обещание, убедитесь, что оно разрешено. (C: \ Недбанк \ аа-serverui \ приложения \ тесты \ authorise.js)
Но если я закомментирую строку настройки сеанса (// req.session.clientData = clientData;), тогда тест продолжится, как и ожидалось.