如果我有类似的东西:
import { buildPath as buildSRPPath } from '@/router/srp-routes';
我是否像这样嘲笑
jest.mock('@/router/srp-routes', () => ({
buildPath: jest.fn()
}));
还是我需要buildSRPPath
?
答案 0 :(得分:1)
jest.mock用模拟替换模块,因此模拟应包含模块导出的内容。
示例:
// ---- lib.js ----
export const func = () => {
return 'func called';
}
// ---- code.js ----
import { func as somethingElse } from './lib';
export const useFunc = () => {
return somethingElse();
}
// ---- code.test.js ----
import { useFunc } from './code';
jest.mock('./lib', () => ({
func: () => 'mocked func' // mock 'func' since that is what lib exports
}));
test('useFunc', () => {
expect(useFunc()).toBe('mocked func'); // PASSES
});
因此,根据您的情况,您可以正确使用buildPath
。