assert.timeout()
添加版本:2.4.0.
描述
timeout( duration )
设置等待异步操作完成的最长时间。
名称 | 描述 |
---|---|
duration (数字) |
等待时间长度,以毫秒为单位。 |
此断言定义了当前测试中等待的最长时间。它在每个测试的基础上覆盖了QUnit.config.testTimeout
。
超时长度仅在测试实际涉及异步函数或 Promise 时才适用。如果传递了0
,则等待或返回任何 Promise 可能会导致测试失败。
如果在已经设置了不同超时的前提下调用assert.timeout()
,则旧的超时将被清除,新的持续时间将用于启动一个新的计时器。
示例
QUnit.test('wait for an event', assert => {
assert.timeout(1000); // Timeout after 1 second
const done = assert.async();
const adder = new NumberAdder();
adder.on('ready', res => {
assert.strictEqual(res, 12);
done();
});
adder.run([ 1, 1, 2, 3, 5 ]);
});
QUnit.test('wait for an async function', async assert => {
assert.timeout(500); // Timeout after 0.5 seconds
const result = await asyncAdder(5, 7);
assert.strictEqual(result, 12);
});
使用经典 ES5 语法
QUnit.test('wait for a returned promise', function (assert) {
assert.timeout(500); // Timeout after 0.5 seconds
var promise = asyncAdder(5, 7);
return promise.then(function (result) {
assert.strictEqual(result, 12);
});
});