assert.expect()

添加的版本:1.0.0

说明

expect( amount )

指定测试中预期的断言数量。

名字 说明
amount 此测试中预期的断言数。

这最常用作 assert.expect(0) ,表示测试可以通过任何断言。这意味着测试仅用于验证代码是否完成,没有任何未捕获的错误。这本质上是 assert.throws() 的倒数。

它还可用于明确要求在给定测试中记录一定数量的断言。如果之后断言的数量与预期的数量不匹配,则测试将失败。

建议使用 assert.step() assert.async() 来测试异步代码。

例子

示例:无断言

没有任何断言的测试:

QUnit.test('example', function (assert) {
  assert.expect(0);

  var android = new Robot();
  android.up(2);
  android.down(2);
  android.left();
  android.right();
  android.left();
  android.right();
  android.attack();
  android.jump();
});

示例:自定义断言

如果您使用在未满足预期时抛出的通用断言库,如果测试中不需要其他断言,则可以使用assert.expect(0)

QUnit.test('example', function (assert) {
  assert.expect(0);

  var android = new Robot(database);
  android.run();

  database.assertNoOpenConnections();
});

示例:显式计数

需要明确的断言计数。

QUnit.test('example', function (assert) {
  assert.expect(2);

  function calc (x, operation) {
    return operation(x);
  }

  let result = calc(2, function (x) {
    assert.true(true, 'calc() calls operation function');
    return x * x;
  });

  assert.strictEqual(result, 4, '2 squared equals 4');
});