Jest - протестировать динамический c сбой импорта - PullRequest
0 голосов
/ 13 февраля 2020

У меня есть компонент 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);
...