我有一套简单的测试,在某些情况下我想模拟一个模块,而在某些情况下则不想。但是,jest.mock()只有在测试之外才有效。任何人都知道为什么会这样以及我做错了什么?
这是我想要模拟的函数的实际导入
import {hasSupport, getCallingCode} from 'utils/countryCallingCode';
Run Code Online (Sandbox Code Playgroud)
这是这个函数的模拟:
jest.mock('utils/countryCallingCode', () => ({
getCallingCode: () => '1',
hasSupport: () => true,
}));
Run Code Online (Sandbox Code Playgroud)
现在,工作场景是:
//imports
//mock
describe('...', () -> {
it('...', () -> {
});
});
Run Code Online (Sandbox Code Playgroud)
这不起作用:
//imports
describe('...', () -> {
//mock
it('...', () -> {
});
});
Run Code Online (Sandbox Code Playgroud)
这也不起作用:
//imports
describe('...', () -> {
it('...', () -> {
//mock
});
});
Run Code Online (Sandbox Code Playgroud)