當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Node.js assert.notDeepEqual(actual, expected[, message])用法及代碼示例


assert.notDeepEqual(actual, expected[, message])

曆史
版本變化
v16.0.0、v14.18.0

在 Legacy 斷言模式下,將狀態從 Deprecated 更改為 Legacy。

v14.0.0

NaN 現在如果兩邊都是 NaN 則被視為相同。

v9.0.0

Error 名稱和消息現在可以正確比較。

v8.0.0

還比較了SetMap 的內容。

v6.4.0、v4.7.1

現在可以正確處理類型化的數組切片。

v6.1.0、v4.5.0

具有循環引用的對象現在可以用作輸入。

v5.10.1、v4.4.3

正確處理非Uint8Array 類型的數組。

v0.1.21

添加於:v0.1.21


參數

嚴格的斷言模式

assert.notDeepStrictEqual() 的別名。

傳統斷言模式

測試任何深度不平等。 assert.deepEqual() 的對麵。

import assert from 'node:assert';

const obj1 = {
  a: {
    b: 1
  }
};
const obj2 = {
  a: {
    b: 2
  }
};
const obj3 = {
  a: {
    b: 1
  }
};
const obj4 = Object.create(obj1);

assert.notDeepEqual(obj1, obj1);
// AssertionError: { a: { b: 1 } } notDeepEqual { a: { b: 1 } }

assert.notDeepEqual(obj1, obj2);
// OK

assert.notDeepEqual(obj1, obj3);
// AssertionError: { a: { b: 1 } } notDeepEqual { a: { b: 1 } }

assert.notDeepEqual(obj1, obj4);
// OKconst assert = require('node:assert');

const obj1 = {
  a: {
    b: 1
  }
};
const obj2 = {
  a: {
    b: 2
  }
};
const obj3 = {
  a: {
    b: 1
  }
};
const obj4 = Object.create(obj1);

assert.notDeepEqual(obj1, obj1);
// AssertionError: { a: { b: 1 } } notDeepEqual { a: { b: 1 } }

assert.notDeepEqual(obj1, obj2);
// OK

assert.notDeepEqual(obj1, obj3);
// AssertionError: { a: { b: 1 } } notDeepEqual { a: { b: 1 } }

assert.notDeepEqual(obj1, obj4);
// OK

如果這些值非常相等,則會拋出一個 AssertionError ,其中 message 屬性設置為等於 message 參數的值。如果 message 參數未定義,則分配默認錯誤消息。如果 message 參數是 Error 的實例,那麽它將被拋出而不是 AssertionError

相關用法


注:本文由純淨天空篩選整理自nodejs.org大神的英文原創作品 assert.notDeepEqual(actual, expected[, message])。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。