Протестируйте prevProps в componentDidUpdate в React через Jest - PullRequest
0 голосов
/ 26 сентября 2019

Имея следующий код:

componentDidUpdate(prevProps: JsonInputProps) {
  if (prevProps.value !== this.props.value) {
    this.validateJsonSchema(this.props.value || '');
  }
}

и тестовый код:

  it('componentDidUpdate should mount', () => {
    const onChange = jest.fn();
    const event = { target: { value: 'simulate-event' } };
    const wrapper = enzyme
      .shallow(<JsonInput onChange={onChange} onValueChange={mockOnValueChange}/>)
      .simulate('change', event);
    wrapper.setProps({ value: 'example' });
    expect(onChange).toBeCalled;
  });

и тестовое покрытие:

enter image description here

Я получил «еще один путь не выбран», и я НЕ хочу игнорировать другой путь, но не знаю, как сменить реквизит.Есть идеи?

1 Ответ

0 голосов
/ 26 сентября 2019

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

  it('componentDidUpdate should mount', () => {
    const onChange = jest.fn();
    const event = { target: { value: 'simulate-event' } };
    const wrapper = enzyme
      .shallow(<JsonInput onChange={onChange} onValueChange={mockOnValueChange}/>)
      .simulate('change', event);
    wrapper.setProps({ foo: 'something' });
    expect(onChange).toBeCalled;
  });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...