У меня есть файл теста Jest, подобный следующему:
// utils.test.js
let utils = require('./utils')
jest.mock('./utils')
test('print items', () => {
utils.printItems(['a'])
expect(utils.getImage).toHaveBeenLastCalledWith('a.png')
})
test('get image', () => {
utils = require.requireActual('./utils')
// `utils` is still mocked here for some reason.
expect(utils.getImage('note.png')).toBe('note')
})
И издеваться вот так:
// __mocks__/utils.js
const utils = require.requireActual('../utils');
utils.getImage = jest.fn(() => 'abc');
module.exports = utils;
Тем не менее, как вы можете видеть в моем комментарии во втором тесте, utils
по-прежнему является поддельной версией, а не фактической версией модуля. Это почему? Как я могу получить актуальную версию, а не поддельную?