Skip to content

A more robust tap-producing test harness for node and browsers. Adds suites, beforeEach, afterEach, etc.

Notifications You must be signed in to change notification settings

brian-springer/tapes

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

tapes

A more robust tap-producing test harness for node and browsers.

Adds the following to tape without changing your normal workflow or adding globals:

  • beforeEach()
  • afterEach()
  • better nested tests

Each beforeEach() and afterEach() will also be called for each child/nested test (similar to Mocha's nested suites)

Install

npm install tapes --save-dev

Usage

var test = require('tapes');

test('a set of some tests', function (t) {
  
  // FINALLY!
  t.beforeEach(function (t) {
    // do some set up for each test
    t.end();
  });
  
  t.afterEach(function (t) {
    // do some tear down for each test
    t.end();
  });
  
  t.test('testing something', function (t) {
    t.ok(true, 'is true');
    t.end();
  });
  
  // SWEET!
  t.test('a nested set of tests', function (t) {
  
    t.beforeEach(function (t) {
      // Runs parent beforeEach() function as well as this one, in sequence.
      t.end();
    });
  
    t.test('this inherits from the parent suite', function (t) {
      t.ok(true, 'is true too');
      t.end();
    });
    
    t.end();
  });
  
  t.end();
});

Running from the command line

$ tapes test/**/*.js

or

$ node test/index.js

Running from withing package.json

{
  "name": "my-module",
  "scripts": {
    "test": "tapes test/**/*.js"
  }
}

Methods

test(name, callback)

Create a new tests, exactlty the same as tapes's test() command.

The callback is passed the normal instance of the Tape class in order to create tests, setups and teardowns.

t.beforeEach(callback)

Do setup for the current test suite. The callback will be passed an object with and end() method. This must be called to conclude the setup.

t.afterEach(callback)

Do teardown for the current etst suite. The callback will be passed an object with and end() method. This must be called to conclude the teardown.

t.test(name, callback)

Create a new test within the current test. This method acts exactly like tape's normal test method. Each of these nested tests also has availbe the beforeEach() and afterEach() functions.

Assertions

All of tape's assertions are available. Please see tape's documentation for a complete list.

License

MIT

About

A more robust tap-producing test harness for node and browsers. Adds suites, beforeEach, afterEach, etc.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%