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);
});