componentDidUpdate не вызывается в подключенном тесте фермента - PullRequest
0 голосов
/ 14 марта 2019

Я пытаюсь протестировать следующий компонент:

componentDidUpdate(prevProps, prevState, snapshot){
 if (this.props.location.pathname.split('/')[1] !== prevProps.location.pathname.split('/')[1]) {
  for(var i in this.props.moduleList) {
    if(this.props.moduleList[i].Name.replace(/\ /g,'') === this.props.location.pathname.split('/')[1]) {
      this.props.setModule(this.props.moduleList[i], null);
    }
  }
}

}

После некоторого исследования стека overoverflow наткнулся на этот ответ, но получил следующую ошибку:

  expect(received)[.not].toHaveBeenCalled()

Вот тестовый файл

beforeEach(() => wrapper = mount(<BrowserRouter><Component {...baseProps} /></BrowserRouter>));


 it(`should call the 'setModule' function when 'moduleList.Name' prop changes`, () => {

// test that the setModule wasn't called yet
expect(setModule).not.toHaveBeenCalled();

// now update the prop
wrapper.setProps({ location: { ...baseProps.moduleList, Name: "/otherpath" } });

// now check that the setModule was called
expect(setModule).toHaveBeenCalled(baseProps.moduleList);
});  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...