простой мокко, проблема модульного тестирования nodejs. У меня есть простой класс утилит, читающий файлы из локальной файловой системы с помощью fs-extra. Класс называется FileUtils, принимает путь и пытается вернуть контекст по умолчанию в формате utf-8. Простой:
async readFileContent(fqFileName, encoding='utf-8'){
return fse.readFile(fqFileName,encoding)
.then(content => content)
.catch(any=>{
throw any
})
}
Мой модульный тест просто требует класса FileUtils и вызывает метод, вызывая
it.only('accepts an html template to compile', () => {
let fixture = path.resolve(__dirname, '../_fixtures/100_tplWithDynamicBlocks.html')
fileUtils.readFileContent(fixture)
.then(content => {
console.log(content) /* forget */
content.should.not.be.null
})
})
Работает нормально, все ок. Но когда я меняю путь на недопустимый/несуществующий, mocha не узнает об ошибке, а только предупреждает меня, что необработанные отказы от обещаний будут выходить из процессов узла в будущем.
Итак, мой вопрос: как я могу сказать мокко, что этот тест должен быть помечен как неудачный, без реализации какой-либо сигнатуры перехвата, или, лучше, как мне реализовать метод службы, который мокко распознает отсутствующий файл (или что-то еще) доступ.
Реализация службы должна выдавать ошибку несуществующего пути (или любую другую ошибку), но как лучше всего передать эти ошибки в mocha без написания строк ненужного кода, который уже делает mocha-framework?