我正在尝试将 jest.mock 包装到一个函数中,以便我可以在多个文件中重用它。我的用例是反应钩子,我正在使用打字稿。目前我的测试文件看起来像这样:
测试.tsx
//some imports
jest.mock('../path/to/hoook/whatever', () => ({
useWhatever: jest.fn()
}))
const mockResult = () => {
return ({
some stuff
};
};
describe('Component', () => {
let wrapper;
beforeEach(() => {
mocked(useWhatever).mockClear();
mocked(useWhatever).mockImplementation(() => mockResult);
wrapper = shallow(
<Component />
);
});
//tests below
});
Run Code Online (Sandbox Code Playgroud)
这工作得很好,但是这个无论什么钩子都会被其他组件使用,我正在尝试包装 jest.mock 以在其他测试中重用。我想做的事情看起来像这样:
模拟.ts
export const mockWhatever = () => jest.mock('../path/to/hoook/whatever', () => ({
useWhatever: jest.fn()
}))
export const mockResult = () => {
return ({
some stuff
};
};
Run Code Online (Sandbox Code Playgroud)
测试.tsx
//some …Run Code Online (Sandbox Code Playgroud)