Skip to content

stealjs/steal-mocha

Repository files navigation

Build Status npm version

steal-mocha

Provides an easy way to automatically run Mocha tests using StealJS.

Use

Add the Steal tag to your page

<script src="node_modules/steal/steal.js"
  mocha="bdd"
  main="test/test"></script>

This will do the equivalent of

mocha.setup("bdd");

and your tests will automatically be ran.

Writing tests

When you write tests just be sure to import steal-mocha.

import "steal-mocha";

describe("Foo", function(){
  it("bar", function(){
    assert("yay!");
  });
});

Use with Bower / manually

If you are not using NPM the following configuration is necessary:

System.config({
  "paths": {
      "steal-mocha": "path/to/steal-mocha/steal-mocha.js",
      "steal-mocha/*": "path/to/steal-mocha/*.js",
      "mocha": "path/to/mocha/mocha.js",
      "mocha/mocha.css": "path/to/mocha/mocha.css"
  },
  "meta": {
      "mocha": {
          "format": "global",
          "exports": "mocha",
          "deps": [
              "steal-mocha/add-dom"
          ]
      }
  }
});

mocha.opts

Mocha's runner allows for a mocha.opts file, specifying addition options such as checkLeaks(). steal-mocha does not parsed a mocha.opts file, however allows the specification of a startup script.

This is similar to the --require option in mocha.opts.

<script src="node_modules/steal/steal.js"
  mocha-require="test/setup"
  main="test/test"></script>

The path in data-mocha-require is a module name.

test/setup.js

const chai = require('chai');
const sinon = require('sinon');

module.exports = function(mocha) {
  sinon.assert.expose(chai.assert, { prefix: '' });
};

The above example extends Chai's assertion library with SinonJS assertions.

License

MIT

About

Starts Mocha tests automatically after main has loaded

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 10