빠른 참조

QUnit 치트시트 (JavaScript 단위 테스트 프레임워크)

JavaScript 단위 테스트 프레임워크 QUnit 핵심 치트시트. 테스트 모듈, 라이프사이클 훅, 단언문 목록, 비동기 테스트 패턴을 정리합니다.

· 게시일

QUnit은 jQuery, jQuery UI 및 Ember.js 등 대규모 프로젝트에서 널리 활용되는 강력하고 직관적인 JavaScript 단위 테스트 프레임워크입니다.

테스트 스위트 구조 및 라이프사이클 훅

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');
  });
});

단언문 레퍼런스 (Assertion Reference)

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

비동기 테스트 (Asynchronous 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);
});

관련 치트시트

관련 주제