consolemock
TypeScript icon, indicating that this package has built-in type declarations

1.1.0 • Public • Published

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.

Package Sidebar

Install

npm i consolemock

Weekly Downloads

1,776

Version

1.1.0

License

MIT

Unpacked Size

21.4 kB

Total Files

17

Last publish

Collaborators

  • ttmarek