A tool for testing console logs
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
logo
src
.babelrc
.eslintrc
.gitignore
LICENSE
README.md
circle.yml
index.d.ts
package.json
yarn.lock

README.md

consolemock

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.