Сделать тест шутки, чтобы потерпеть неудачу на любой выданной ошибке? - PullRequest
0 голосов
/ 07 февраля 2019

Как сделать так, чтобы шут-тест провалился при любой выданной ошибке?

Я немного пробовал, но синтаксис еще не прибил.

test('getArcId => Error', async () => {
    await expect(client.getArcId('skynet')).rejects.toThrow();
});

Я получаюсообщение об ошибке

getArcId ›getArcId => Ошибка

ожидаемая (полученная) .rejects.toThrow ()

Полученная функция не сгенерировала

Однако следующий тест пройден, поэтому функция, которую я собираюсь проверить, выполняет throw (по крайней мере, насколько я понимаю, что означает throw):

test('getArcId => Error', async () => {
    await client.getArcId('skynet').catch(e => 
        expect(e.message).toBe('Command failure')
    );
});

1 Ответ

0 голосов
/ 07 февраля 2019

Чтобы обработка исключений Jest работала должным образом, передайте ей анонимную функцию, например:

test('getArcId => Error', async () => {
    await expect(() => client.getArcId('skynet')).rejects.toThrow();
});

Из документации jest

test('throws on octopus', () => {
  expect(() => {
    drinkFlavor('octopus');
  }).toThrow();
});

Обратите внимание:анонимная функция.Да, это меня несколько раз получило:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...