assert.expect()

追加されたバージョン: 1.0.0.

説明

expect( amount )

テストで期待されるアサーション数を指定します。

name 説明
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');
});