vi.fn() / jest.fn()

Creates a mock function that records all calls, arguments, and return values. Use to isolate units from dependencies.

Syntax

testing
const mockFn = vi.fn();
const mockFn = vi.fn().mockReturnValue(value);

Example

testing
const sendEmail = vi.fn().mockResolvedValue({ sent: true });

await notifyUser("alice@example.com", sendEmail);

expect(sendEmail).toHaveBeenCalledOnce();
expect(sendEmail).toHaveBeenCalledWith("alice@example.com", expect.any(String));