Nanoscale Parts Manufacturing

    tapes

    4.1.0 • Public • Published

    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 tape = require('tape');
    var tapes = require('tapes');
    var test = tapes(tape);
     
    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

    var test = tapes(tape)

    Initializer receives a tape instance (versions 3.x and 4.x are acceptable). Returns test function.

    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

    Install

    npm i tapes

    DownloadsWeekly Downloads

    1,072

    Version

    4.1.0

    License

    MIT

    Last publish

    Collaborators

    • scottcorgan