assert.propEqual()
添加版本:1.11.0.
描述
propEqual( actual, expected, message = "" )
使用严格比较来比较对象的自身属性。
名称 | 描述 |
---|---|
实际 |
正在测试的表达式 |
预期 |
已知的比较值 |
message (字符串) |
实际表达式的简短描述 |
propEqual
断言只比较对象的自身属性。这意味着预期值不需要是相同类的实例,也不需要继承相同的原型。这与 assert.deepEqual()
形成对比。
如果值不同,或者存在额外的属性,或者缺少某些属性,则此断言将失败。
此方法是递归的,可以通过普通对象比较任何嵌套或复杂对象。
另请参阅
- 使用
assert.propContains()
只检查属性的子集。 - 使用
assert.notPropEqual()
来测试对象属性的不等性。
示例
比较两个对象的属性值。
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);
});