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