测试表格与开玩笑和酶

时间:2017-11-15 20:30:27

标签: reactjs unit-testing jestjs enzyme

我完全失去了尝试测试一个简单的反应形式,我怎么知道提交按钮是否正常工作?经过一些研究,我认为这样做的方法是制作一个模拟函数,然后检查它是否被调用,但我非常肯定我正在做它完全错误

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();
});

有人可以指出我正确的方向吗?

1 个答案:

答案 0 :(得分:1)

你并不是唯一一个对这个感到迷茫的人。 This thread on Enzyme's issues page有很多建议的方法来解决这个问题。