Jest ошибка с пользовательским реквизитом, соответствующим снимку - PullRequest
0 голосов
/ 17 февраля 2020

Давайте начнем с простой функции, которая возвращает 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 не может получить один'] = Объект {сообщение: «все мое», от: «обезьяна», причина: «Я жадный»}

Теперь вопрос: Как легко сделать снимок ошибки с помощью пользовательских реквизитов?

...