• assert.deepEqual()


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

    深度比较 actual 和 expected 参数,使用比较运算符(==)比较原始值。
    只考虑可枚举的“自身”属性。deepEqual() 的实现不测试对象的原型,连接符号,或不可枚举的属性。这会导致一些潜在的出人意料的结果。例如,下面的例子不会抛出 AssertionError,因为 Error 对象的属性是不可枚举:

    // WARNING: This does not throw an AssertionError!
    assert.deepEqual(Error('a'), Error('b'));
    

    深度比较意味着子对象的可枚举“自身”的属性也会进行评估:

    const assert = require('assert');
    
    const obj1 = {
        a: {
            b: 1
        }
    };
    const obj2 = {
        a: {
            b: 2
        }
    };
    const obj3 = {
        a: {
            b: 1
        }
    }
    const obj4 = Object.create(obj1);
    
    assert.deepEqual(obj1, obj1);
    // OK, object is equal to itself
    
    assert.deepEqual(obj1, obj2);
    // AssertionError: { a: { b: 1 } } deepEqual { a: { b: 2 } }
    // values of b are different
    
    assert.deepEqual(obj1, obj3);
    // OK, objects are equal
    
    assert.deepEqual(obj1, obj4);
    // AssertionError: { a: { b: 1 } } deepEqual {}
    // Prototypes are ignored
    

    如果这两个值不相等,将会抛出一个带有 message 属性(等于该 message 参数的值)的 AssertionError。如果 message 参数为 undefined,将会分配一个默认的错误消息。

  • 相关阅读:
    前端之css样式(选择器)
    html 之表单,div标签等
    前端基础之html
    【动态规划】【背包模板】
    【dp专题1】F
    【dp专题1】B
    hdu 1171 Big Event in HDU 01背包
    HDU 2048 数塔 简单DP
    练习赛2(补题)问题 G: 建设电力系统【最小生成树kruskal模板题】
    【图论】【最小生成树】【kruskal+prime】
  • 原文地址:https://www.cnblogs.com/lalalagq/p/9908346.html
Copyright © 2020-2023  润新知