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