Я пишу небольшой тест для проверки того, что какой-то код записывает в мою базу данных mon go. Я получаю следующее сообщение об ошибке от Jest, код действительно работает.
Timeout - Async callback was not invoked within the 5000ms timeout specified by jest.setTimeout.Error: Timeout - Async callback was not invoked within the 5000ms timeout specified by jest.setTimeout.
Для моего теста я только вызываю функцию и ожидаю свойство объекта, которое указывает, была ли операция успешной
const {clearDataBase, loadData} = require('../src/utils/dataloader')
beforeEach(clearDataBase)
test('Should write all data into database', () => {
jest.setTimeout(30000);
const result = loadData()
expect(result.status).toBe(201)
})
Первоначальная функция анализирует файл JSON и сохраняет некоторые файлы в базу данных:
const loadData = () => {
try{
request(url, async (err, res, body) => {
const data = JSON.parse(body)
// ... Loads a lot of data, removed for this post only!
})
return { error: undefined, status: 201 }
} catch(e){
return { error: e, status: undefined }
}
}