我完全迷失了尝试测试用 React 制作的简单表单,我如何知道提交按钮是否正常工作?经过一番研究,我认为这样做的方法是制作一个模拟函数,然后检查它是否被调用,但我很确定我做的完全错误。
onObjSubmit(event){
event.preventDefault()
..... (fetch something)
}
render(){
return (
<form id="myForm" onSubmit={event => this.onObjSubmit(event)}>
<input type="text" id="name" /><br />
<input type="text" id="last_name" /><br />
<input type="submit" value="submit">
</form>
);
}
测试:
it('Test', () => {
const wrapper = shallow(<TestComp />);
const fn = jest.fn();
wrapper.instance().onObjSubmit = fn;
wrapper.update();
wrapper.find('#myForm').simulate('submit');
expect(fn).toBeCalled();
});
有人可以给我指出正确的方向吗?
最佳答案
您并不是唯一一个对此感到迷失的人。 This thread on Enzyme's issues page有很多建议的方法来解决这个问题。
关于reactjs - 用 Jest 和 enzyme 在 React 中测试表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47316691/