assert.deepEqual()

添加的版本:1.0.0

說明

deepEqual( actual, expected, message = "" )

深度遞歸嚴格比較,處理原始類型、數組、對象、正則表達式、日期和函數,考慮所有自己和繼承的屬性。

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

deepEqual 斷言可用於比較對象的屬性值,使得 { key: value } 等於 { key: value } 。對於對象,它們的身份被 deepEqual 忽略。

deepEqual 比較所有繼承的屬性。使用 assert.propEqual() 僅在自己的屬性上測試深度和嚴格相等。

assert.notDeepEqual() 可用於顯式測試深度、嚴格的不等式。

例子

驗證給定對象的屬性和值。

QUnit.test('good example', assert => {
  const result = { foo: 'bar' };

  assert.deepEqual(result, { foo: 'bar' }, 'result object');
});
QUnit.test('bad 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'
  });
});