assert.propContains()
添加版本:2.18.0.
描述
propContains( actual, expected, message = "" )
检查对象是否包含某些属性。
名称 | 描述 |
---|---|
实际值 |
正在测试的表达式 |
预期值 |
已知比较值 |
message (字符串) |
实际表达式的简短描述 |
propContains
断言仅比较预期对象中的子集属性,并测试这些键是否存在作为自身属性,且具有严格相等的 value。
此方法是递归的,并且允许对嵌套对象进行部分比较。
另请参阅
- 使用
assert.propEqual()
比较所有属性,将额外属性视为意外。 - 使用
assert.notPropContains()
测试属性的缺失或不等式。
示例
QUnit.test('example', assert => {
const result = {
foo: 0,
vehicle: {
timeCircuits: 'on',
fluxCapacitor: 'fluxing',
engine: 'running'
},
quux: 1
};
assert.propContains(result, {
foo: 0,
vehicle: { fluxCapacitor: 'fluxing' }
});
function Point (x, y) {
this.x = x;
this.y = y;
}
assert.propContains(
new Point(10, 20),
{ y: 20 }
);
assert.propContains(
[ 'a', 'b' ],
{ 1: 'b' }
);
const nested = {
north: [ /* ... */ ],
east: new Point(10, 20),
south: [ /* ... */ ],
west: [ /* ... */ ]
};
assert.propContains(nested, { east: new Point(10, 20) });
assert.propContains(nested, { east: { x: 10, y: 20 } });
assert.propContains(nested, { east: { x: 10 } });
});