Function Mocks in Jest
From the Jest cheat sheet · Mocking · verified Jul 2026
Function Mocks
Creating and using mock functions (spies)
javascript
// Create a mock function
const mockFn = jest.fn()
mockFn('arg1', 'arg2')
// Mock with return value
const mockCallback = jest.fn(x => x * 2)
expect(mockCallback(5)).toBe(10)
// Mock implementation
const mockImplementation = jest.fn()
.mockImplementation((x) => x + 1)
.mockImplementationOnce((x) => x + 2) // First call only
// Assertions on mocks
expect(mockFn).toHaveBeenCalled()
expect(mockFn).toHaveBeenCalledTimes(1)
expect(mockFn).toHaveBeenCalledWith('arg1', 'arg2')
expect(mockFn).toHaveBeenLastCalledWith('arg1', 'arg2')💡 Use mockImplementationOnce for different behavior per call
⚡ mockClear vs mockReset vs mockRestore have different scopes
📌 Access .mock property for detailed call information
🟢 jest.spyOn preserves original implementation by default
mockingfunctions