mockConsole()
mockConsole(...
args): MockConsoleResult
Mocks specified console methods, capturing calls for assertions.
Parametersโ
args: ...(ConsoleMethod | MockConsoleOptions)[]โ
Console methods to mock and/or configuration options.
Returns: MockConsoleResultโ
The object with mocks and restore function.
Sinceโ
2.0.0
Performanceโ
Uses Map for O(1) lookup of original console methods. Stores calls in arrays for O(1) append.
Exampleโ
const { mocks, restore } = mockConsole("log", "warn");
console.log("test", 123);
console.warn("warning!");
expect(mocks.log.callCount).toBe(1);
expect(mocks.log.calls[0].args).toEqual(["test", 123]);
expect(mocks.warn.callCount).toBe(1);
restore();
const { mocks: m, restore: r } = mockConsole("log", { passthrough: true });
console.log("captured and printed");
r();
Use Casesโ
Spy on logs ๐โ
Capture console output to verify logging behavior without cluttering test output. Essential for verifying warning/error logging logic.
const { mocks, restore } = mockConsole('warn');
console.warn('Something went wrong');
expect(mocks.warn.callCount).toBe(1);
restore();
Suppress noisy outputโ
Silence console logs during specific tests to keep test reports clean.
const { restore } = mockConsole('log', { passthrough: false });
console.log('This will not appear in terminal');
restore();
Verify log contentโ
Assert on the actual messages logged.
const { mocks, restore } = mockConsole('error');
validateInput(null);
expect(mocks.error.calls[0][0]).toContain('Invalid input');
restore();
MockConsoleOptionsโ
Options for mockConsole.
Sinceโ
2.0.0
Propertiesโ
passthrough?: booleanโ
If true, still outputs to console while capturing.
MockConsoleResultโ
Result of mockConsole().
Sinceโ
2.0.0
Propertiesโ
mocks: Record<string, ConsoleMock>โ
Mocks for each requested method, keyed by method name.
restore(): () => voidโ
Restores all original console methods.
Returns: voidโ
clearAll(): () => voidโ
Clears all recorded calls without restoring.
Returnsโ
void