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()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。