介面: AsymmetricEqualityTester

AsymmetricEqualityTester

非對稱等值測試器是一個物件,可搭配多個物件。範例包含 jasmine.any() 和 jasmine.stringMatching()。Jasmine 包含許多內建非對稱等值測試器,例如 jasmine.objectContaining。使用者定義的非對稱等值測試器也受支援。

非對稱等值測試器可以使用任何配對器(包含使用 MatchersUtil#equalsMatchersUtil#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

用於測試相等性等的功能

回傳
類型
布林值

jasmineToString(pp) → {String}

傳回此測試器字串的表述,用於配對器失敗訊息

參數
名稱 類型 說明
pp function

函式,取得一個值並傳回一個美化列印的表述

回傳
類型
字串