Skip to content

catdad/mock-stdio

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mock-stdio

travis cov-codeclimate gpa-codeclimate npm-downloads npm-version dm-david

This is just a simple module allowing you to easily test (or just ignore) code that needs to console.log or otherwise write to standard out and standard error.

Install

npm install --save-dev mock-stdio

Example

var mockIo = require('mock-stdio');
var expect = require('chai').expect;

describe('thing', function () {
  it('writes to standard out', function () {
    // Start the mock... it will not be possible to write to
    // the real stdout and stderr when this is active.
    mockIo.start();

    // Call your code.
    someFunction();

    // When you are done, end the mock, and it will return
    // all the data written to stdout and stderr while the mock
    // was active.
    var result = mockIo.end();

    // Make sure that what you expected was written to
    // the corresponding output.
    expect(result.stdout).to.be.a('string');
    expect(result.stderr).to.be.a('string');
  });
});

Note that it is best to use the mock directly inside the test, rather than in before or after functions, as it will not be possible for anything within the node process to log to stdout and stderr, meaning you may lose messages that are printed by your test framework.

About

🔇 mock stdio output for tests

Resources

Stars

Watchers

Forks

Packages

No packages published