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


    严格断言模式

    Strict assertion mode

    An alias of assert.notDeepStrictEqual().

    Legacy assertion mode

    Tests for any deep inequality. Opposite of 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

    If the values are deeply equal, an AssertionError is thrown with a message property set equal to the value of the message parameter. If the message parameter is undefined, a default error message is assigned. If the message parameter is an instance of an Error then it will be thrown instead of the AssertionError.