qunit-composite

Run multiple QUnit test suite pages.

Usage no npm install needed!

<script type="module">
  import qunitComposite from 'https://cdn.skypack.dev/qunit-composite';
</script>

README

Build Status NPM version

QUnit Composite

Composite is a QUnit plugin that, when handed an array of files, will open each of those files inside of an iframe, run the tests, and display the results as a single suite of QUnit tests.

The "Rerun" link next to each suite allows you to quickly rerun that suite, outside the composite runner.

If you want to see what assertion failed in a long list of assertions, just use the regular "Hide passed tests" checkbox.

Compatibility

QUnit Composite >=2.0.0 is compatible with QUnit >=1.18.0 <3.0.0.

QUnit Composite <2.0.0 (e.g. v1.2.2) is compatible with QUnit <2.0.0.

Usage

Load QUnit itself as usual plus qunit-composite.css and qunit-composite.js, then specify the test suites to load using QUnit.testSuites:

QUnit.testSuites([
    "example-test-1.html",
    "example-test-2.html",
    // optionally provide a name and path
    { name: "Example Test 3", path: "example-test-3.html" }
]);

Optionally, give the composed module a name (defaults to "Composition #1"):

QUnit.testSuites( "Example tests", [
    "example-test-1.html",
    "example-test-2.html"
]);

Notes

  • Although it is possible to do so, we do not recommend mixing QUnit Composite suites (QUnit.testSuites) on the same page as regular tests and modules (QUnit.test/test, QUnit.module/module).
  • The QUnit Composite plugin can be used for testing suites on the "file://" protocol unless any of the referenced suites are outside of the test page's directory (e.g. ../otherTest.html) due to web security restrictions. You can work around this restriction by running them in Google Chrome or PhantomJS, with web security disabled — or, of course, by not referencing suites outside of the current test page's directory.