Référence rapide

Aide-mémoire de test JavaScript QUnit

Guide de référence rapide pour QUnit : framework de tests unitaires JavaScript, modules, assertions et tests asynchrones.

· Publié le

QUnit est un framework de test unitaire JavaScript puissant et simple, utilisé par des projets majeurs comme jQuery et Ember.js.

Structure de la suite de tests et hooks

QUnit.module('Math operations', (hooks) => {
  hooks.beforeEach(() => {
    // Setup before each test
  });

  hooks.afterEach(() => {
    // Teardown after each test
  });

  QUnit.test('adds two numbers', (assert) => {
    assert.equal(1 + 1, 2, '1 + 1 should equal 2');
    assert.strictEqual(2 + 2, 4, 'strictly equals 4');
  });
});

Répertoire des assertions

Assertion Description
assert.ok(state, [message]) Asserts value is truthy
assert.notOk(state, [message]) Asserts value is falsy
assert.equal(actual, expected) Non-strict comparison (==)
assert.strictEqual(actual, expected) Strict comparison (===)
assert.deepEqual(actual, expected) Deep recursive equality on objects/arrays
assert.throws(fn, [expected]) Asserts a function throws an error

Tests asynchrones (Async Tests)

// Modern Promise / Async Await
QUnit.test('fetches user profile', async (assert) => {
  const profile = await fetchProfile(10);
  assert.equal(profile.name, 'Alice');
});
// Callback Done Handler
QUnit.test('timer test', (assert) => {
  const done = assert.async();

  setTimeout(() => {
    assert.ok(true, 'Timer completed');
    done();
  }, 100);
});

Aide-mémoires connexes

Sujets associés