agraddy.test.tap

0.9.1 • Public • Published

agraddy.test.tap

An easy to use testing library that outputs TAP. It does not require any special command line programs.

Installation

npm install --save-dev agraddy.test.tap

Why

A testing library that focuses on simplicity. I was running into issues with tape and mocha was too complex for my needs. I wanted a testing library that I could call using node that didn't require any boilerplate code.

Basic Example

First, create a file named test1.js:

// You have to pass in __filename to be able to run the test.
var tap = require('agraddy.test.tap')(__filename);

// Try a simple test.
tap.assert.equal('actual', 'expected', 'First test for equality should fail.');

tap.assert.equal('pass', 'pass', 'Second test for equality should pass.');

Now, run the file using node.

node test1.js

It should output:

TAP version 13
not ok 1 - First test for equality should fail.
  ---
  operator: equal
  actual: actual
  expected: expected
  at: Object.<anonymous> (test1.js:5:12)
  ...

1..2
# test 2
# pass 1
# fail 1

Notes

  • Each tap.assert call is considered a test. Each of the default node assert methods should be available. If you need one that is not implemented, just open an issue.
  • If you comment out a tap.assert call, it will be ignored.

Advanced Example

Example 2

Create a file named test2.js:

// You have to pass in __filename to be able to run the test.
var tap = require('agraddy.test.tap')(__filename);

// Try a simple test.
tap.assert.equal('actual', 'expected', 'First test for equality should fail.');

// Works with async functions too
setTimeout(function() {
    tap.assert.equal('pass', 'pass', 'Second test for equality should pass.');
}, 1000);

// Commented out tests are ignored
// tap.assert(true, 'Not checked because it is commented out.');

/*
tap.assert(true, 'Not checked because it is commented out.');
*/

// Any typical assert function should work (if you find one that doesn't, just open an issue)
tap.assert.deepEqual({"deep": true}, {"deep": true}, 'Third test for equality should pass.');

Now, run the file using node.

node test2.js

It should output:

TAP version 13
not ok 1 - First test for equality should fail.
  ---
  operator: equal
  actual: actual
  expected: expected
  at: Object.<anonymous> (test2.js:5:12)
  ...
ok 2 - Second test for equality should pass.
ok 3 - Third test for equality should pass.

1..3
# test 3
# pass 2
# fail 1

FAQ

Coming soon.

License

MIT

Readme

Keywords

Package Sidebar

Install

npm i agraddy.test.tap

Weekly Downloads

7

Version

0.9.1

License

MIT

Unpacked Size

17.4 kB

Total Files

14

Last publish

Collaborators

  • agraddy