Вот код, который я пытаюсь проверить, используя 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();
});
Этона данный момент не получается, и я знаю, что ответ выше не является правильным.Как я могу улучшить предыдущий ответ и проверить приведенный выше код, чтобы передать его
Спасибо