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