我正在尝试嘲笑我的动作创建者之一。实际上,我正在测试我的React组件。我需要检查是否在某个事件上调用了动作创建者函数。我试图通过jest.mock
模拟该函数,但抛出错误:
Do not import `@jest/globals` outside of Jest test environment.
这是到目前为止我尝试过的方法,但是它不起作用:
describe('>> SCREEN -- Tests Step1', () => {
describe('• handleSubmit function tests', () => {
beforeEach(() => {
jest.mock('../../redux/modules/test/test', () => ({
fetchUser : jest.fn()
}))
})
it('Should call fetchUser when called', () => {
handleSubmit({ value : '1234' })
expect(fetchUser).toHaveBeenCalledTimes(1)
})
})
})
我也尝试过模拟测试服之外的功能。但这也不起作用。我不确定我在这里想念什么。
如果您需要更多详细信息,请告诉我。
答案 0 :(得分:0)
您可以采用的一种方法。
import * as api from "../../redux/modules/test/test";
test("...", () => {
const userSpy = jest.spyOn(api, 'fetchUser');
handleSubmit({ value : '1234' });
expect(userSpy).toHaveBeenCalledTimes(1);
});