开玩笑的嘲笑在一个嘲笑的模块上返回React createRef

时间:2020-06-04 21:58:06

标签: javascript reactjs jestjs

我正在使用导入到组件中的第三方组件。 我想做的就是模拟该组件,这样我就可以控制测试组件,而不必测试第三方组件中的所有组件。

在我的组件中,我将该第三方组件传递给React.createRef()。然后,我用它来调用该第三方模块上的函数。 其上的功能之一是例如setInput()。 在下面的模拟中,我想从模拟中返回正确的createRef对象。 我也想在其上模拟setInput方法。我以为我可以像下面那样做。 但是无法弄清楚从模拟中传回的引用。

MyComponent.test.tsx

jest.mock("third-party-component", () => ({
  default: () => <div>mocked</div>,
  setInput: () => "test",
  __esModule: true,
}));

在我的组件中,有一个change函数像这样调用第三方模块的ref。

  onChange = (event: ChangeEvent<HTMLInputElement>): void => {
    this.thirdPartyRef.current.setInput(event.target.value);
  };

0 个答案:

没有答案