Попытка проверить симуляцию изменения в компоненте ввода текста с помощью Jest - PullRequest
0 голосов
/ 09 апреля 2020

Я пытаюсь смоделировать событие изменения в компоненте (ListPage)

 <TextInput
        className="search-s"
        id="textM"
        width="m"
        type="search"
        handleChange={this.props.updateS}
        placeholder="Search for a scenario"
      />
    </div>

Атрибут handleChange вызывает функцию поддержки с именем updateS, которая выглядит как

 updateS(e) {
     this.setState({
      name: e.target.value,
    }); 
  }

И что В настоящее время у меня есть для тестовой функции

 it("should call handleChange on change with the correct params", () => {
   const wrapper = shallow(<ListPage />);
   const spy = jest.spyOn(wrapper.instance(), "handleChange");
   wrapper.instance().forceUpdate();

   const p = wrapper.find(".search-s");
   p.simulate("change");
   expect(spy).toHaveBeenCalled();
 });

. По какой-то причине моя тестовая функция не работает, когда я пытаюсь смоделировать изменение и проверить, была ли вызвана функция updateSearch. Во всех руководствах в Интернете есть примеры функций тестирования внутри компонента, но не пропущены реквизиты, которые, как мне кажется, и являются причиной проблемы. Любое понимание было бы замечательно

...