当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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])。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。