我想测试我的第三方库(iframe-resizer)函数是否被调用。我的测试
import React from 'react';
import { fireEvent, render } from 'react-testing-library';
//import * as depModule from 'iframe-resizer';
let depModule = require("iframe-resizer")
import { MyComponent } from '../my-component';
describe('Component', () => {
describe('Functional', () => {
it('should initialize iframeresizer when the iframe has loaded', async
() => {
const iframeResizerMock = jest.spyOn(depModule, "iframeResizer");
const { queryByTestId } = render(<MyComponent />);
fireEvent.load(queryByTestId('csb-iframe'));
expect(iframeResizerMock).toHaveBeenCalledTimes(1);
});
});
});
所以调用了iframeResizer函数,通过console.log进行了测试。这里奇怪的是我使用的时候
import * as depModule from 'iframe-resizer';
间谍不起作用(测试失败)
但是当我使用
let depModule = require("iframe-resizer")
一切正常(测试通过)。我是 jest 和 node 模块的新手,所以我可能错过了一些明显的东西吗?