Я пытаюсь проверить следующую функцию:
async function read () {
return new Promise(function(resolve, reject) {
fs.readFile("INVALID_PATH", (err, contents) => {
if (err) {
reject(new Error('ERROR'));
}
resolve(contents);
});
});
}
через тест:
try {
await read();
} catch (e) {
expect(e).toMatch('ERROR');
}
Однако, я не могу поймать отклонение при улове, это дает мне тайм-аут .
Есть предложения?
РЕДАКТИРОВАТЬ:
Мне удалось заставить его работать, используя макет, таким образом:
try {
fs.readFile.mockReset()
fs.readFile.mockImplementation((path, options, cb) => {
cb('ERROR')
})
await readFile()
} catch (err) {
expect(err).toBe('ERROR')
}
Однако я до сих пор не понимаю, зачем это нужно ...