@offirmo/unit-test-toolbox
An aggregation of quality npm modules to be used for writing unit tests.
Last updated 9 months ago by offirmo .
UNLICENSED · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install @offirmo/unit-test-toolbox 
SYNC missed versions from official npm registry.

unit-test-toolbox

A convenient aggregation of quality npm modules to be used for writing unit tests. Just install this module and you get everything needed at once!

v4 breaking change:

  • bumped all to latest major (as usual)
  • dropped legacy node compatibility (<2) may still work but didn't try and won't maintain.

This modules bundles:

  • mocha
  • chai
  • sinon
  • sinon-chai
  • chai-as-promised
  • chai-subset
  • chai-moment
  • eslint-plugin-mocha and eslint-plugin-chai-expect

It also exposes:

  • a pre-made plumbing for:
    • activating the chai.expect interface
    • activating correctly the chai plugins: sinon-chai, chai-as-promised, chai-subset, chai-moment
  • a pre-made mocha options file

In progress:

  • working on integrating sinon properly
  • working on typescript compatibility

Introduction - the problem

Writing unit tests in JavaScript with mocha/chai requires assembling a bunch of modules and repeating the same operations:

:-1: WITHOUT @offirmo/unit-test-toolbox :-1: :hurtrealbad::

  1. remembering all the libs needed
  2. installing them: npm install mocha chai sinon sinon-chai chai-as-promised chai-subset chai-moment
  3. if using typescript: npm install @types/mocha @types/chai @types/sinon @types/sinon-chai @types/chai-as-promised
  4. write an init file for activating chai.expect (what else ?), sinon-chai and chai-as-promised
  5. write the npm task "test": "mocha --opts mocha.opts path/to/init.js '<glob_to_my_tests/**/*spec.js>'"
  6. keep all those dependencies up-to-date

The proposed solution:

:+1: WITH @offirmo/unit-test-toolbox :+1: :sunglasses::

  1. install only one module npm i -D @offirmo/unit-test-toolbox
  2. copy this npm task "test": "mocha --opts mocha.opts node_modules/@offirmo/unit-test-toolbox/mocha-chai-init-node.js '<glob_to_my_tests/**/*spec.js>'"
  3. keep @offirmo/unit-test-toolbox up-to-date

Installation & usage

recent npm

Targeting node >= 6 & npm >= 3 (for we abuse the flat deps)

npm i --save-dev @offirmo/unit-test-toolbox

If you want to use the pre-written init file, reference it in your test task:

  "scripts": {
    "test": "mocha --opts node_modules/@offirmo/unit-test-toolbox/mocha.opts node_modules/@offirmo/unit-test-toolbox/mocha-chai-init.js 'test/unit/src/**/*spec.js'"
  },

See also

Contributing

Suggestions welcome. TODO

Current Tags

  • 4.0.0                                ...           latest (9 months ago)

7 Versions

  • 4.0.0                                ...           9 months ago
  • 3.0.0                                ...           a year ago
  • 2.1.0                                ...           2 years ago
  • 2.0.0                                ...           2 years ago
  • 1.0.0                                ...           2 years ago
  • 0.0.2                                ...           2 years ago
  • 0.0.1                                ...           3 years ago
Maintainers (1)
Downloads
Today 0
This Week 0
This Month 7
Last Day 0
Last Week 7
Last Month 31
Dev Dependencies (0)
None
Dependents (0)
None

Copyright 2014 - 2018 © taobao.org |