インタフェース: AsymmetricEqualityTester

AsymmetricEqualityTester

非対称等性テスターは、複数のオブジェクトを照合できるオブジェクトです。たとえば、jasmine.any() と jasmine.stringMatching() などがあります。Jasmine には、jasmine.objectContaining などの組み込みの非対称等性テスターが多数あります。ユーザー定義非対称等性テスターもサポートされています。

非対称等性テスターは、MatchersUtil#equals または MatchersUtil#contains を使用する、ユーザー定義カスタムマッチャなど、あらゆるマッチャで機能します。

以降
  • 2.0.0
参照

function numberDivisibleBy(divisor) {
  return {
    asymmetricMatch: function(n) {
      return typeof n === 'number' && n % divisor === 0;
    },
    jasmineToString: function() {
      return `<a number divisible by ${divisor}>`;
    }
  };
}

const actual = {
  n: 2,
  otherFields: "don't care"
};

expect(actual).toEqual(jasmine.objectContaining({n: numberDivisibleBy(2)}));

メソッド

asymmetricMatch(value, matchersUtil) → {Boolean}

値がこのテスターと一致するかどうかを調べます

パラメータ
名前 タイプ 説明
value any

テストする値

matchersUtil MatchersUtil

等性のテストなどに使用するユーティリティ

戻り値
タイプ
Boolean

jasmineToString(pp) → {String}

マッチャの失敗メッセージで使用する、このテスターの文字列表現を返します

パラメータ
名前 タイプ 説明
pp 関数

値を受け取って、美しく印刷された表現を返す関数

戻り値
タイプ
文字列