node package manager

scotch-tape

scotch-tape

Helps write adhesive tape tests and better organize your test code.

Code

var scotchTape = require('scotch-tape');
var test = scotchTape({options});

Supported Options:

  • setup - Optional - called before any tests starts running
  • before - Optional -called before every test run
  • after - Optional -called after every test run
  • teardown - Optional -called after all the tests are run
  • asserts - Optional - custom local assertions

scotch-tape flavor

Initialization

'use strict';
 
var scotchTape = require('scotch-tape');
 
var test = scotchTape({
  
  setup: function initialize(t) {
    console.log('setup');
    t.end();
  },
  
  before: function beforeEach(t) {
    console.log('Before Each');
    t.end();
  },
  
  after: function afterEach(t) {
    console.log('After Each');
    t.end();
  },
  
  teardown: function cleanup(t) {
    console.log('teardown');
    t.end();
  },
  
  asserts: {
    isValidName: function customAssert(name) {
      this.ok(name);
      this.equal(name, 'test');
    }
    /* any number of custom local asserts*/
  }
});

Sample Tests

test('scotch-tape tests', function test(it) {
  
  it('should get called', function should(t) {
    t.ok(true);
    t.end();
  });
  
  it('should support custom assert', function should(t) {
    t.isValidName('test');
    t.end();
  });
  
});

Console Output

TAP version 13
# setup
setup
# Project Tests > should pass 1
Before Each
ok 1 (unnamed assert)
After Each
# Project Tests > should pass 2
Before Each
ok 2 (unnamed assert)
After Each
# teardown
teardown
 
1..2
# tests 2
# pass  2
 
# ok

Custom Global Tape Asserts

You can overload tape js tests to include custom assertions.

'use strict';
 
var scotchTapeAsserts = require('scotch-tape/asserts');
 
var scotchTape = scotchTapeAsserts({
 
  typeOf: function verifyType(obj, type) {
    this.equal(typeof obj, type);
  },
  
  length: function verifyLength(obj, len) {
    this.equal(obj.length, len);
  }
  
});

Sample Tests

var runBasicTests = scotchTape();
 
runBasicTests('Global Tape Asserts', function test(it) {
 
  it('should handle type', function should(t) {
    var a = 'segu';    
    t.typeOf(a, 'string');
    t.end();
  });
  
  it('should handle length', function should(t) {
    var a = [1, 2, 3, 4];
    t.length(a, 4);
    t.end();
  });
  
});
 

Console Output

TAP version 13
# Global Tape Asserts > should handle type
ok 1 should be equal
# Global Tape Asserts > should handle length
ok 2 should be equal
 
1..2
# tests 2
# pass  2
 
# ok

ENJOY WRITING BETTER TESTS