QUnit.test()

追加されたバージョン: 1.0.0.

説明

QUnit.test( name, callback )

QUnit.test()を使用してテストを定義します。

パラメータ 説明
name (文字列) テストするユニットのタイトル
callback (関数) テストを実行する関数

コールバックパラメータ

パラメータ 説明
assert (オブジェクト) アサートオブジェクト

コールバックに対するassert引数には、QUnit のすべてのアサーションメソッドが含まれます。これを使用してテストのassertionします。

QUnit.test()は、コールバック関数の結果として「then-able」Promiseを返した場合、Promiseの非同期解決を自動的に処理できます。

こちらもご覧ください

変更ログ

QUnit 1.16 非同期関数のサポートと Promise の追加が追加されました。

例: 標準テスト

assert引数を使用した実践的な例。

function square (x) {
  return x * x;
}

QUnit.test('square()', assert => {
  assert.equal(square(2), 4);
  assert.equal(square(3), 9);
});

例: 非同期テスト

上記の例に続いて、QUnit.testは、JS 非同期関数構文もすぐにサポートします。

QUnit.test('Test with async-await', async assert => {
  const a = await fetchSquare(2);
  const b = await fetchSquare(3);

  assert.equal(a, 4);
  assert.equal(b, 9);
  assert.equal(await fetchSquare(5), 25);
});

例: Promise を用いたテスト

ES5 およびそれ以前の環境では、標準テスト関数からPromiseを返すこともできます。これにはjQuery.Deferredや Bluebird Promise などの他の then-able 値もサポートされています。

この例では、1秒待機してから解決された Promise が返されます。

function fetchSquare (x) {
  return new Promise(function (resolve) {
    setTimeout(function () {
      resolve(x * x);
    }, 1000);
  });
}

QUnit.test('Test with Promise', function (assert) {
  return fetchSquare(3).then(function (result) {
    assert.equal(result, 9);
  });
});