У меня есть компонент React с динамическим импортом c и тест Jest / Enzyme, который проверяет, что произойдет, если одна из этих ошибок импортируется. У меня возникла проблема, из-за которой Jest не прошел тест из-за выдаваемой мной ошибки, и я не могу заставить ее пройти, даже используя expect().toThrow()
Я не уверен, что мне следует делать здесь ... В идеале я хотел бы, чтобы Jest просто игнорировал любые ошибки.
Внутренний компонент:
async componentDidMount() {
try {
// there are more things in real component and so that is why Promise.all
const [Card] = await Promise.all([
import(
/* webpackChunkName:"@Card" */ './index'
)
]);
this.setState({ Card });
} catch(e) {
}
}
render() {
const { Card } = this.state;
if (Card) { ... }
else { ... }
}
Тест:
jest.mock('../../card', () => {
throw new Error('Forcing async import error');
});
const wrapper = mount(<MyComp {...props} />);
expect(wrapper.find('Loading').prop('dimensions')).toEqual(props.dimensions);