assert
assert.deepEqual()和assert.equal()有点区别!
一开时我们需要这么做:
const assert = require('assert');
assert.deepEqual(actual, expected[, message])
测试 actual 参数与 expected 参数是否深度相等。 原始值使用相等运算符(==)比较。
assert.deepStrictEqual(actual, expected[, message])
大多数情况下与 assert.deepEqual() 一样,但有两个例外。 首先,原始值使用全等运算符(===)比较。 其次,对象的比较包括检查它们的原型是否全等。
assert.doesNotThrow(block[, error][, message])
当 assert.doesNotThrow() 被调用时,它会立即调用 block 函数。
如果抛出错误且错误类型与 error 参数指定的相同,则抛出 AssertionError。 如果错误类型不相同,或 error 参数是 undefined,则错误会被抛回给调用者。
assert.equal(actual, expected[, message])
使用相等运算符(==)测试 actual 参数与 expected 参数是否相等。
assert.fail(actual, expected, message, operator)
抛出 AssertionError。 如果 message 不存在,则错误信息会被设为 actual 的值加分隔符 operator 再加 expected 的值。 否则,错误信息为 message 的值。
assert.ifError(value)
如果 value 为真,则抛出 value。 可用于测试回调函数的 error 参数。
assert.notDeepEqual(actual, expected[, message])
测试是否不深度相等。 与 assert.deepEqual()
相反。
assert.notDeepStrictEqual(actual, expected[, message])
测试是否不深度全等。 与 assert.deepStrictEqual()
相反。
assert.notEqual(actual, expected[, message])
使用不等运算符(!=)测试是否不相等。
assert.notStrictEqual(actual, expected[, message])
使用不全等运算符(!==)测试是否不全等。
assert.ok(value[, message])
如果 value 不为真值,则抛出一个带有 message 属性的 AssertionError,其中 message 属性的值等于传入的 message 参数的值。 如果 message 参数为 undefined,则赋予默认的错误信息。
assert.strictEqual(actual, expected[, message])
使用全等运算符(===)测试是否全等。
assert.throws(block[, error][, message])
期望 block函数抛出错误。
如果指定了 error,error可以是构造函数、正则表达式、或自定义的验证函数。
如果指定了 message,则当 block不抛出错误时,message会作为 AssertionError的错误信息。
例如:
// 这是错误的!不要这么做!
assert.throws(myFunction, '错误', '没有抛出期望的信息');
// 应该这么做。
assert.throws(myFunction, /错误/, '没有抛出期望的信息');
console (控制台)
console.assert(value[, message][, ...args])
一个简单的断言测试,验证 value是否为真。 如果不为真,则抛出 AssertionError。 如果提供了 message,则使用 util.format()
格式化并作为错误信息使用。
console.dir(obj[, options])
在 obj上使用 util.inspect() 并打印结果字符串到 stdout。 该函数会绕过任何定义在 obj上的自定义的 inspect()函数。 可选的 options对象可以传入用于改变被格式化的字符串: