Я сталкивался с этой проблемой раньше, я обнаружил, что передача анонимной функции заставляет ее работать:
const throwFn = () => { throw new Error() };
// won't work
it('should throw', () => {
expect(throwFn()).toThrow();
});
// works ¯\_(ツ)_/¯
it('should throw', () => {
expect(() => throwFn()).toThrow();
});