Skip to content
This repository has been archived by the owner on Apr 1, 2024. It is now read-only.

Latest commit

 

History

History
77 lines (59 loc) · 1.96 KB

QUnit.begin.md

File metadata and controls

77 lines (59 loc) · 1.96 KB
layout title excerpt groups redirect_from version_added
page-api
QUnit.begin()
Register a callback to fire when the test run begins.
callbacks
/callbacks/QUnit.begin/
/QUnit.begin/
1.0.0

QUnit.begin( callback )

Register a callback to fire when the test run begins. The callback may be an async function, or a function that returns a Promise, which will be waited for before the next callback is handled.

The callback will be called once, before QUnit runs any tests.

parameter description
callback (function) Callback to execute, called with a details object.

Details object

property description
totalTests (number) Number of registered tests
modules (array) List of registered modules,
as { name: string, moduleId: string } objects.

Changelog

| QUnit 2.19.0 | Added moduleId to the details.modules objects. | QUnit 1.16 | Added details.modules property, containing { name: string } objects. | QUnit 1.15 | Added details.totalTests property.

Examples

Get total number of tests known at the start.

QUnit.begin(details => {
  console.log(`Test amount: ${details.totalTests}`);
});

Use async-await to wait for some asynchronous work:

QUnit.begin(async details => {
  await someAsyncWork();

  console.log(`Test amount: ${details.totalTests}`);
});

Using classic ES5 syntax:

QUnit.begin(function (details) {
  console.log('Test amount:' + details.totalTests);
});
function someAsyncWork () {
  return new Promise(function (resolve, reject) {
    // do some async work
    resolve();
  });
}

QUnit.begin(function (details) {
  return someAsyncWork().then(function () {
    console.log('Test amount:' + details.totalTests);
  });
});