JSPM

  • Created
  • Published
  • Downloads 111
  • Score
    100M100P100Q103421F
  • License MIT

Run browser and node tests with coverage reports

Package Exports

  • unitest
  • unitest/bin/cli.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (unitest) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

unitest logo

build status dependencies status npm version

Seamless node and browser unit testing with code coverage

Features
  • Unified node and browser tests with merged TAP output, code coverage reports, and exit status codes.
  • Headless Chrome-powered browser testing for a fast, modern browser testing environment.
  • Bundler-agnostic usage. Use browserify, webpack, or something else.
  • Designed to be used with Babel-powered coverage instrumentation for fast, efficient testing with code coverage.
  • Works seamlessly with nyc, the official Istanbul CLI.

Usage

Usage: unitest {OPTIONS}

Options:

    --version, -v  Print version and exit

       --help, -h  Print usage information

       --node, -n  Path to node test entry file

    --browser, -c  Path to browser test entry file

Getting Started

Run node and browser tests

  1. Transpile source code with Babel (optional)
  2. Bundle browser code
  3. Run unitest, specifying test entry files
babel src -d build
browserify build/test/browser.js > build/test/browser-bundle.js
unitest --browser=build/test/browser-bundle.js --node=build/test/node.js

Run node and browser tests with coverage report

Unitest works with nyc, the Istanbul CLI. To run unitest with coverage, add the Istanbul instrumentation Babel plugin then run unitest with nyc on the instrumented code:

babel src -d build --plugins=istanbul
browserify build/test/browser.js > build/test/browser-bundle.js
nyc --report=html unitest --browser=build/test/browser-bundle.js --node=build/test/node.js

Merged test output

The separate TAP and coverage output along with exit code for your node and browser tests will be merged seamlessly.

Debugging

Debug node tests

No magic here, just use plain node.

node --inspect-brk build/test/node.js

Debug browser tests

Coming soon: ability to launch Chrome with a DevTools window open, or let you connect to the script URL manually.