0.12.0 • Published 5 years ago

qunit-coverage v0.12.0

Weekly downloads
1
License
MIT
Repository
github
Last release
5 years ago

qunit-coverage Build Status Build status

A QUnit test runner with Istanbul and headless Chrome.

Prerequisites

You must be using Node >= 8.9.4.

This test runner assumes that your code is already instrumented for Istanbul.

Installing

Via npm:

npm install qunit-coverage

Usage

qunit-coverage is currently accessible via its Node API. The function takes a file name and options object, and it returns a promise.

const qunit = require("qunit-coverage");

qunit("path-to-file", {
	/* options */
}).then(/* use results */);

API

qunit(path-to-test-fixture, options);

Opens a test fixture in headless Chrome, calls QUnit.start(), logs test results to the console, and returns a promise that resolves with a results object. The results object follows the below format:

{
	pass: Boolean,
	results: { // As numbers
		passed: Number,
		failed: Number,
		total: Number,
	},
	coverage: { // If coverage was ran, as percentages
		branch: Number,
		function: Number,
		statement: Number,
	},
},

options.verbose

Type: Boolean Default: false

Logs more detailed output to the console.

options.timeout

Type: Number Default: 5000

Will fail and exit the tests if the timeout limit is exceeded.

options.puppeteerOptions

Type: Object Default: {}

Passes options to puppeteer.launch(). For a list of valid options, see the puppeteer documentation.

options.coverage

Type: Boolean|Object Default: false

Configuration options for coverage testing. Passing false will prevent coverage testing. Passing true will log a text summary report to the console if options.verbose is true.

options.coverage.output

Type: String Default: process.cwd()

Where to output any coverage reports that Istanbul generates. Defaults to the current working directory.

options.coverage.formats

Type: Array<String> Default: []

What formats to output Istanbul coverage reports as. Valid values include "lcovonly", "json", "html", "text-summary" and more.

Contributing

Please see CONTRIBUTING.md for more information on working with this project.

Roadmap

  • Allow for a glob file input, or an array of files (or globs)
  • Prettier output and more detailed errors / warnings
  • Expose a CLI
  • Document how to instrument with Istanbul
  • Coverage thresholds?

Inspired by these projects:

0.12.0

5 years ago

0.11.0

5 years ago

0.10.0

6 years ago

0.9.0

6 years ago

0.8.0

6 years ago

0.7.0

6 years ago

0.6.0

6 years ago

0.5.0

6 years ago

0.4.0

6 years ago

0.3.0

6 years ago

0.2.0

6 years ago

0.1.0

7 years ago