jest manual mock node module
// lodash.js
const _ = require('lodash')
module.exports = () => _.repeat('abc', 3)
// lodash.test.js
jest.mock('lodash')
const lodashMock = require('lodash')
const { repeat } = jest.requireActual('lodash')
const lodashRepeat = require('../lodash')
describe('manual mock module', () => {
beforeEach(() => {
// setup mock
lodashMock.repeat.mockReturnValue(repeat('xxx', 3))
})
it('lodash repeat value', () => {
// expect lodashMock
expect(jest.isMockFunction(lodashMock)).toBeTruthy()
// expect lodash.js
expect(lodashRepeat()).toBeDefined()
expect(lodashRepeat()).toBe("xxxxxxxxx")
expect(lodashRepeat().length).toBe(9)
})
})