A tool for testing console logs
Installation
with yarn
yarn add --dev consolemock
or with npm
npm install --save-dev consolemock
API
import makeConsoleMock from 'consolemock'; console = makeConsoleMock();
console.log('a message'); console.group('a group'); console.info('maybe an object?', { a: 'str', b: false, c: [1, 2, 3], d: { a: 'b' } }); console.warn('something useful'); console.error('something unexpected'); console.group('%c a nested group with styling', 'color: #1da1f2; font-weight: bold;'); console.log('%c a nested log with styling', 'color: #D63230;'); console.groupEnd(); console.log('almost done'); console.groupEnd(); console.info('%c fin', 'font-weight: bold;'); console.debug('some debug statement');
↳ console.history();
[ { LOG: ['a message'] }, { GROUP: ['a group'] }, { _INFO: ['maybe an object?', { a: 'str', b: false, c: [1, 2, 3], d: { a: 'b' } }] }, { _WARN: ['something useful'] }, { _ERROR: ['something unexpected'] }, { _GROUP: ['%c a nested group with styling', 'color: #1da1f2; font-weight: bold;'] }, { __LOG: ['%c a nested log with styling', 'color: #D63230;'] }, { _LOG: ['almost done'] }, { INFO: ['%c fin', 'font-weight: bold;'] }, { DEBUG: ['some debug statement'] } ]
↳ console.printHistory();
"LOG a message
GROUP a group
INFO maybe an object?, {a: 'str', b: false, c: [1, 2, 3], d: {a: 'b'}}
WARN something useful
ERROR something unexpected
GROUP %c a nested group with styling, color: #1da1f2; font-weight: bold;
LOG %c a nested log with styling, color: #D63230;
LOG almost done
INFO %c fin, font-weight: bold;
DEBUG some debug statement"
↳ console.clearHistory()
console.log('hello'); console.log('world'); console.clearHistory(); console.log('apple'); console.history() // returns [{ LOG: ['apple'] }]
↳ console.print(message, [message1, ..., messageN])
Logs messages to the console when debugging. Provide makeConsoleMock with the
native console object when creating the mock:
import makeConsoleMock from 'consolemock'; console = makeConsoleMock(console);
Uses
⚡ Use consolemock With Snapshot Testing
The output of printHistory works great with
Jest's snapshot testing.
Create the mock console, log a few messages, then save the output of
printHistory as a snapshot.
