assert.deepEqual()
添加版本:1.0.0.
描述
deepEqual( actual, expected, message = "" )
递归且严格的比较,考虑所有自身和继承的属性。
名称 | 描述 |
---|---|
实际值 |
正在测试的表达式 |
预期值 |
已知的比较值 |
message (字符串) |
实际表达式的简短描述 |
此断言比较传递的完整对象。对于原始值,执行严格比较。对于对象,对象标识被忽略,而是使用所有自身和继承属性的递归比较。这意味着数组、普通对象和任意类实例对象都可以以这种方式进行比较。
深度比较包括对 Date 对象、正则表达式 (RegExp)、NaN 以及 ES6 特性(如 Symbol、Set 和 Map 对象)的内置支持。
要断言仅对自身属性的严格相等性,请参考 assert.propEqual()
。
assert.notDeepEqual()
可用于检查不等式。
示例
验证给定对象的属性和值。
QUnit.test('passing example', assert => {
const result = { foo: 'bar' };
assert.deepEqual(result, { foo: 'bar' });
});
QUnit.test('failing example', assert => {
const result = {
a: 'Albert',
b: 'Berta',
num: 123
};
// fails because the number 123 is not strictly equal to the string "123".
assert.deepEqual(result, {
a: 'Albert',
b: 'Berta',
num: '123'
});
});