首页 > Web开发 > 详细

nodejs中文教程下载

时间:2019-03-13 22:36:50      阅读:171      评论:0      收藏:0      [点我收藏+]

教程下载地址:https://u18103887.ctfile.com/fs/18103887-308550816

接口稳定性

assert 模块提供了一系列的断言测试函数,设计这些辅助函数的初衷是服务于
Node.js 自身的开发。当然,开发者可以通过 require(‘assert‘) 将其应用到第
三方模块的开发中。不过, assert 模块并不是一个测试框架,不建议将其用作
通用的断言库。
assert 模块当前的 API 已处于锁定状态,这意味着该模块将不再轻易新增或修
改 API。

assert(value[, message])
等同于 assert.ok() :

const assert = require(‘assert‘);

assert(true);
// OK
assert(1);
// OK
assert(false);
// throws "AssertionError: false == true"
assert(0);
// throws "AssertionError: 0 == true"
assert(false, ‘it\‘s false‘);
// throws "AssertionError: it‘s false"

assert.deepEqual(actual, expected[, message])
比较参数 actual 和 expected 是否深度相等。对于参数中的原始值
(primitive value)使用 == 进行比较。

Assertion Testing

deepEqual() 只会遍历比较对象自身可枚举的属性,不会比较对象的原型、

symbol 和不可枚举的属性,所以在某些情况下结果可能会出人意料。比如在下面
的示例中就不会抛出 AssertionError ,这是因为 Error 对象的属性是不可枚举
的:

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

方法名中的 Deep 一词意指会对传入的两个对象进行深度比较,包括对对象子级
可枚举属性的比较:

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 {}
// 原型继承而来的属性不计入比较范围

如果 actual 和 expected 不相等,则抛出 AssertionError 错误和
message 错误信息。如果未定义 message 参数,Node.js 会提供默认的错误信
息。

nodejs中文教程下载

原文:https://www.cnblogs.com/xuanxuan2015/p/10527011.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!