assert.propEqual()

添加的版本:1.11.0

說明

propEqual( actual, expected, message = "" )

使用嚴格比較來比較對象自身的屬性。

名字 說明
actual 正在測試的表達式
expected 已知比較值
message(字符串) 斷言的簡短說明

propEqual 斷言僅比較對象自身的屬性。這意味著期望值不需要是同一類的實例或以其他方式繼承同一原型,這與 assert.deepEqual() 不同。

如果值不同、存在其他屬性或缺少某些屬性,則斷言失敗。

此方法是遞歸的,可以通過普通對象比較任何嵌套或複雜對象。

也可以看看

例子

比較兩個對象的屬性值。

QUnit.test('example', assert => {
  class Foo {
    constructor () {
      this.x = 1;
      this.y = 2;
    }

    walk () {}
    run () {}
  }

  const foo = new Foo();

  // succeeds, own properties are strictly equal,
  // and inherited properties (such as which constructor) are ignored.
  assert.propEqual(foo, {
    x: 1,
    y: 2
  });
});

使用經典的 ES5 語法:

QUnit.test('example', function (assert) {
  function Foo () {
    this.x = 1;
    this.y = 2;
  }
  Foo.prototype.walk = function () {};
  Foo.prototype.run = function () {};

  var foo = new Foo();

  // succeeds, own properties are strictly equal.
  var expected = {
    x: 1,
    y: 2
  };
  assert.propEqual(foo, expected);
});