簡體   English   中英

用玩笑和酶在 React 中測試一個表單

[英]Test a form in React with jest and enzyme

我完全無法測試用 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();
});

有人可以指出我正確的方向嗎?

你不是唯一一個對這個感到迷茫的人。 Enzyme 的問題頁面上的這個線程有很多建議的方法來解決這個問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM