zoukankan      html  css  js  c++  java
  • node.js学习(一)

    一、assert 

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

    测试 actual 参数与 expected 参数是否深度相等。 原始值使用相等运算符==)比较。只测试可枚举的自身属性,不测试对象的原型、连接符、或不可枚举的属性。Map 和 Set 包含的子项也会被测试。子对象中可枚举的自身属性也会被测试。如果两个值不相等,则抛出一个带有 message 属性的 AssertionError,其中 message 属性的值等于传入的 message参数的值。 如果 message 参数为 undefined,则赋予默认的错误信息。

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

    与 assert.deepEqual() 大致相同,但有一些区别:

    1. 原始值使用全等运算符===)比较。Set 的值与 Map 的键使用 SameValueZero 比较。
    2. 对象的原型也使用全等运算符比较。
    3. 对象的类型标签要求相同。
    4. 比较[对象包装器][]时,其对象和里面的值要求相同。

    assert.doesNotThrow(block[, error][, message])

    断言 block 函数不会抛出错误。

    当 assert.doesNotThrow() 被调用时,它会立即调用 block 函数。

    如果抛出错误且错误类型与 error 参数指定的相同,则抛出 AssertionError。 如果错误类型不相同,或 error 参数为 undefined,则抛出错误。如果抛出了 AssertionError 且有给 message 参数传值,则 message 参数的值会被附加到 AssertionError 的信息中。

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

    使用相等运算符==)测试 actual 参数与 expected 参数是否相等。

    如果两个值不相等,则抛出一个带有 message 属性的 AssertionError,其中 message 属性的值等于传入的 message参数的值。 如果 message 参数为 undefined,则赋予默认的错误信息。

    assert.fail(actual, expected[, message[, operator[, stackStartFunction]]])

    抛出 AssertionError。 如果 message 参数为空,则错误信息为 actual 参数 + operator 参数 + expected 参数。 如果只提供了 actual 参数与 expected 参数,则 operator 参数默认为 '!='。 如果提供了 message 参数,则它会作为错误信息,其他参数会保存在错误对象的属性中。 如果提供了 stackStartFunction 参数,则该函数上的栈帧都会从栈信息中移除(详见 Error.captureStackTrace)。

    assert.ifError(value)

    如果 value 为真,则抛出 value。 可用于测试回调函数的 error 参数。

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

    测试 actual 参数与 expected 参数是否不深度相等。 与 assert.deepEqual() 相反。

    如果两个值深度相等,则抛出一个带有 message 属性的 AssertionError,其中 message 属性的值等于传入的 message 参数的值。 如果 message 参数为 undefined,则赋予默认的错误信息。

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

    测试 actual 参数与 expected 参数是否不深度全等。 与 assert.deepStrictEqual() 相反。

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

    使用不等运算符!=)测试 actual 参数与 expected 参数是否不相等。

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

    使用不全等运算符!==)测试 actual 参数与 expected 参数是否不全等。

    assert.ok(value[, message])

    测试 value 是否为真值。 相当于 assert.equal(!!value, true, message)

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

    使用全等运算符===)测试 actual 参数与 expected 参数是否全等

    assert.throws(block[, error][, message])

    断言 block 函数会抛出错误。

    error 参数可以是构造函数、正则表达式、或自定义函数。

    如果指定了 message 参数,则当 block 函数不抛出错误时,message 参数会作为 AssertionError 的错误信息。

    注意事项

    对于 SameValueZero 比较,建议使用 ES2015 的 Object.is()

    因为全等运算符不区分 -0 与 +0。但 Object.is() 可以区分
    // 抛出 AssertionError: NaN === NaN
    // 因为全等运算符不能用于测试 NaN。
    // 但 Object.is() 可以测试。

  • 相关阅读:
    贝塞尔曲线原理(转载)
    无法启动此程序,因为计算机中丢失api-ms-win-crt-runtime-|1-1-0.dll
    HDU 3530 Subsequence(单调队列)
    Gym 100247I Meteor Flow(优先队列)
    BZOJ 1040: [ZJOI2008]骑士(基环树dp)
    Gym 100247C Victor's Research(有多少区间之和为S)
    Gym 100247A The Power of the Dark Side
    Gym 100247B Similar Strings(哈希+思维)
    51nod 1405 树的距离之和(dfs)
    51nod 1378 夹克老爷的愤怒(树型dp+贪心)
  • 原文地址:https://www.cnblogs.com/cina33blogs/p/8117740.html
Copyright © 2011-2022 走看看