Давайте начнем с простой функции, которая возвращает Promise с ошибкой
class BananaError extends Error {
constructor(message) {
super(message);
this.from = 'monkey';
this.reason = 'I am greedy';
}
}
const giveMeBananaNow = () => new Promise((resolve, reject) => {
setTimeout(() => {
reject(new BananaError('all is mine'));
}, 1000);
});
Теперь давайте протестируем эту функцию с помощью Jest
describe('giveMeBananaNow', () => {
test('could not get one', async () => {
await expect(giveMeBananaNow()).rejects.toThrowErrorMatchingSnapshot();
});
});
Снимок просто содержит сообщение об ошибке. Нет снимков таможенного реквизита.
export ['giveMeBananaNow не может получить один'] = все мое
Ну, было бы намного лучше иметь это: )
exports ['giveMeBananaNow не может получить один'] = Объект {сообщение: «все мое», от: «обезьяна», причина: «Я жадный»}
Теперь вопрос: Как легко сделать снимок ошибки с помощью пользовательских реквизитов?