フォームコンポーネントをテストするためにJestとEnzymeを使用していますが、クリックシミュレーションがうまくいかない。参考のために:Button
はスタイルrebassボタンであり、このような形で存在します、酵素シミュレーション「クリック」が必要なときに機能しない
it('should handle the onClose event',() => {
const onCloseSpy = jest.fn();
const renderedComponent = mount(renderFormUtil({ onClose: onCloseSpy }));
expect(onCloseSpy).not.toHaveBeenCalled();
console.log(renderedComponent.find(Form).props().onClose);
renderedComponent
.find(Button)
.first()
.simulate('click');
expect(onCloseSpy).toHaveBeenCalled();
});
場合、私は交換することである:
<Button
type="reset"
disabled={pristine || submitting}
onClick={() => onClose(dirty)}
>
ここで失敗のテストです次の行をシミュレートしてください。
renderedComponent
.find(Button)
.first()
.props()
.onClick();
突然私のテストに合格します。これはどのように可能ですか? onClick小道具が正しい場合、それはクリックイベントが小道具を正しく呼び出さないことを意味しませんか?
?私は 'Button'がどのように見えるかは分かりませんが、2つの異なるコンポーネントをテストしているので、同じ結果は期待できません。 –
申し訳ありませんが、それらは同じコンポーネントです - 単純化のために、コンポーネント名にSubmitという単語を取り除くつもりだった –