Можно ли проверить следующее без шпиона?JEST энзим - PullRequest
0 голосов
/ 25 февраля 2019

Вот код, который я пытаюсь проверить, используя Jest и Enzyme.Мне интересно, можно ли проверить, работает ли он правильно, без использования spyON

toggleIsChecked = (e) => {
if (this.state.key && this.state.value && this.state.isChecked === false){
  let localState = {}
  localState['isChecked'] = true
  let keyValuePairObj = Object.assign({}, this.state, localState)
  keyValuePairObj['type'] = this.props.type
  keyValuePairObj['id'] = this.props.id
  if (this.props.subType) {
    keyValuePairObj['subType'] = this.props.subType
  }
  this.props.addNewKeyValue(keyValuePairObj)
  this.setState({
    isChecked: !this.state.isChecked
  })
} else {
  this.setState({
    isChecked: !this.state.isChecked
  })
}

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

it("should call sort ids", () => {
  const wrapper = shallow(<KeyValuePair />);
  wrapper.instance().toggleIsChecked = jest.fn();
  wrapper.update();    // Force re-rendering 
  wrapper.instance().componentDidMount();
  expect(wrapper.instance().toggleIsChecked).toBeCalled();
});

Этона данный момент не получается, и я знаю, что ответ выше не является правильным.Как я могу улучшить предыдущий ответ и проверить приведенный выше код, чтобы передать его

Спасибо

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