getUsers
调用函数声明
getJack
但你在监视这处房产
getJack
的默认导出对象和
替换默认导出的该键处的值
使用您的模拟实现。
getUsers
在那个文件中不调用
getJack
在默认导出对象上,它调用
getJack
文件中的声明。
例如,以下是一种方法(还有很多其他方法),因为您正在嘲笑的函数的实现与中调用的函数相同
getUsers
// esm-user.js
const internalApi = {
getJack: () => 'Jack',
getJill: () => 'Jill',
};
const getUsers = () => {
return [internalApi.getJack(), internalApi.getJill()];
};
export default { getUsers, internalApi };
// esm-user-spy.spec.js
import users from '../src/esm-user.js';
describe('Mocks and Spies', () => {
it.only('partial mock (jack)', () => {
var getJackSpy = jest
.spyOn(users.internalApi, 'getJack')
.mockReturnValue('Mock Jack');
expect(users.getUsers()).toEqual(['Mock Jack', 'Jill']);
});
});