QUnit.test()
添加的版本:1.0.0
說明
QUnit.test( name, callback )
使用 QUnit.test()
定義測試。
參數 | 說明 |
---|---|
name (字符串) |
被測單元的名稱 |
callback (函數) |
執行測試的函數 |
回調參數
參數 | 說明 |
---|---|
assert (對象) |
Assert 對象 |
回調的 assert
參數包含 QUnit 的所有 assertion methods 。使用它來進行測試斷言。
如果您返回 “then-able” Promise 作為回調函數的結果,QUnit.test()
可以代表您自動處理 Promise 的異步解析。
也可以看看:
變更日誌
QUnit 1.16 | 添加了對異步函數的支持,並返回了一個 Promise。 |
例子
示例:標準測試
一個實際的例子,使用 assert 參數。
function square (x) {
return x * x;
}
QUnit.test('square()', assert => {
assert.equal(square(2), 4, 'square(2)');
assert.equal(square(3), 9, 'square(3)');
});
示例:異步測試
按照上麵的示例,QUnit.test
還支持開箱即用的 JS async functions 語法。
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。這也支持其他 then-able、jQuery.Deferred
和 Bluebird Promise 等值。
此示例返回等待 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);
});
});
相關用法
- JavaScript QUnit.test.each()用法及代碼示例
- JavaScript QUnit.test.only()用法及代碼示例
- JavaScript QUnit.testStart()用法及代碼示例
- JavaScript QUnit.test.todo()用法及代碼示例
- JavaScript QUnit.test.skip()用法及代碼示例
- JavaScript QUnit.testDone()用法及代碼示例
- JavaScript QUnit.config.filter用法及代碼示例
- JavaScript QUnit.config.current用法及代碼示例
- JavaScript QUnit.begin()用法及代碼示例
- JavaScript QUnit.moduleStart()用法及代碼示例
- JavaScript QUnit.on()用法及代碼示例
- JavaScript QUnit.done()用法及代碼示例
- JavaScript QUnit.stack()用法及代碼示例
- JavaScript QUnit.dump.parse()用法及代碼示例
- JavaScript QUnit.moduleDone()用法及代碼示例
- JavaScript QUnit.onUncaughtException()用法及代碼示例
- JavaScript QUnit.hooks用法及代碼示例
- JavaScript QUnit.config.autostart用法及代碼示例
- JavaScript QUnit.extend()用法及代碼示例
- JavaScript QUnit.start()用法及代碼示例
- JavaScript QUnit.log()用法及代碼示例
- JavaScript QUnit.config.urlConfig用法及代碼示例
- JavaScript QUnit.module()用法及代碼示例
- JavaScript esri/layers/OpenStreetMapLayer.minScale用法及代碼示例
- JavaScript esri/layers/KMLLayer.maxScale用法及代碼示例
注:本文由純淨天空篩選整理自qunitjs.com大神的英文原創作品 QUnit.test()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。