Я новичок в модульном тестировании в JS, изучаю jest
Framework.У меня проблема с простым toThrow()
средством сопоставления, с которым я тестирую свою функцию ошибки броска.
Я написал простую функцию foo()
, которая генерирует только ошибку и проверяет ее с помощью toThrow()
сопоставителя.
index.js
export const foo = () => {
throw new Error('bar');
};
index.test.js
import {foo} from './index';
test('foo', () => {
expect(foo()).toThrow();
});
Насколько я понимаю, поскольку функция выдает ошибку в любом случае, ожидаемый результат, проверенный toThrow()
, долженразрешить пройденный тест.Однако, когда я запускаю yarn test
, я получаю следующую ошибку:
FAIL index.test.js
✕ foo (3ms)
● foo
bar
21 |
22 | export const foo = () => {
> 23 | throw new Error('bar');
| ^
24 | };
25 |
at foo (index.js:23:9)
at Object.<anonymous> (index.test.js:13:10)
Test Suites: 1 failed, 1 total
Есть ли какая-то ошибка в моем коде или, возможно, мое понимание toThrow()
matcher?