QUnit.test.only()

version added: 1.20.0.

Description

QUnit.test.only( name, callback )
QUnit.only( name, callback )

Add a test that is exclusively run, preventing other tests from running unless they are also defined in this way.

parameter description
name (string) Title of unit being tested
callback (function) Function that performs the test

Callback parameters

parameter description
assert (object) A new instance object with the assertion methods

Use this method to focus your test suite on specific tests. QUnit.test.only will cause any other tests in your suite to be ignored.

This method is an alternative to re-running individual tests from the HTML reporter interface, and can be especially useful to set your filter upfront without first running the test suite in a browser, e.g. in a codebase with many long-running tests.

It can also be used as alternative to the --filter CLI option. If you have a specific test in front of you in your text editor, you set the “only” flag on this test directly by using QUnit.test.only, without needing to copy or otherwise match the test name via the --filter option. Setting the “only” flag in this way, is similar to how you might use the debugger keyword to interact with browser devtools.

When debugging a larger area of code, you may want to expand your filter to run all tests under a given module. You can useQUnit.module.only() to automatically mark all tests inside that module as “only” tests.

Changelog

QUnit 2.12 The QUnit.only() method was renamed to QUnit.test.only().
Use of QUnit.only() remains supported as an alias.
QUnit 1.20 The QUnit.only() method was introduced.

Examples

How to use QUnit.test.only to filter which tests are run.

QUnit.module('robot', hooks => {
  let robot;
  hooks.beforeEach(() => {
    robot = new Robot();
  });

  QUnit.test('say()', assert => {
    assert.true(robot.say('Hello'));
  });

  // Run only this test
  // For example, you are working on changing this method.
  QUnit.test.only('laser()', assert => {
    assert.true(robot.laser());
  });

  QUnit.test('take()', assert => {
    assert.true(robot.take(5));
  });
});