在作为道具传递的函数上调用Jest spyOn

时间:2019-05-24 13:55:49

标签: unit-testing jestjs

我有一个onSubmit函数作为道具传递给子组件。

我怎么监视它?这是我尝试过的事情之一

const onSubmitMock = jest.fn()

  const wrapper = shallow(
    <Form onSubmit={onSubmitMock} />
  )

  const spy = jest.spyOn(wrapper.instance(), onSubmitMock);

我知道

无法窥探函数嘲笑嘲讽constructConstructor(){返回fn.apply(this,arguments);}属性,因为它不是函数;未给定

我尝试过

const spy = jest.spyOn(wrapper.instance(), 'onSubmit');

同一件事发生了。

1 个答案:

答案 0 :(得分:0)

模拟提交事件后,您可以直接使用expect(onSubmitMock ).toHaveBeenCalled();

您收到错误消息可能是因为spyOn返回jest.fn() https://jestjs.io/docs/en/jest-object#jestspyonobject-methodname