assert.timeout()

添加的版本:2.4.0

说明

timeout( duration )

设置在测试失败之前等待异步操作完成的时间。

名字 说明
duration(数字) 等待异步操作的时间长度(以毫秒为单位)。

assert.timeout() 定义在当前测试中(最多)等待多长时间。它在 per-test 的基础上覆盖 QUnit.config.testTimeout

超时长度仅在执行异步操作时适用。如果通过0,则任何异步任务都可能无法通过测试。

如果在设置超时后调用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);
  });
});