assert模块提供了一组简单的断言测试,分严格模式(strict)和遗留模式(legacy),严格模式下,对比的方式比较严格,比如说,0与'0'比较,会报错,但在遗留模式下是可以通过的。官方推荐使用严格模式, 所以本文基于strict模式下学习。
如何使用严格模式
const assert = require('assert').strict; // 严格模式 assert.equal(0, '0') // error
全局使用strict模式后,assert.equal() 与assert.strictEqual()的效果是一样的。
如果不想全局使用的话,可以直接使用带strict的方法。
const assert = require('assert') // 遗留模式 assert.equal(0, '0') // success assert.strictEqual(0, '0') // error
assert.AssertionError
Error的子类,表示断言失败,assert模块抛出的错误都是AssertionError的实例。
类似于下面这个class,实际上的AssertionError是由ES5写的,下面这个只是方便理解传入的参数
interface IOptions { message"htmlcode">assert.throws(() => { throw new Error('it is a error') }, /^Error: it is a error$/);为function时,可以自定义验证函数
assert.throws(() => { throw new Error('it is a error') }, (err) => { if ((err instanceof Error) && /error/.test(err)) { return true; } });为object时,将仅测试验证对象error上的属性。
const err = new TypeError('错误值'); err.code = 404; err.foo = 'bar'; err.info = { nested: true, baz: 'text' }; err.reg = /abc/i; // 正则表达式只有当验证对象包含相同的正则表达式时才通过。 assert.throws(() => { throw err; }, { name: 'TypeError', message: '错误值' info: { nested: true, baz: 'text' // 使用嵌套对象需要存在所有属性。 // 否则验证将失败。 // 无法对嵌套属性使用正则表达式! } });为Error时,用instanceof检测是否是该实例。
注意, error 不能是字符串。 如果提供了一个字符串作为第二个参数,则假定 error 被忽略,而字符串将用于 message。
assert.reject(asyncFn: function | promise, error?: regExp | function | object | Error, message?: string)
assert.throws的异步版本。
asyncFn为一个function时
立即执行该函数,如果该函数不返回promise,则返回一个被拒绝(reject)的 Promise。
如果该函数同步抛出一个错误,返回一个带有该错误的被拒绝的 Promise。asyncFn为一个Promise时
等待Promise执行,检测是否被拒绝。
assert.ifError(value: any)
如果value不为null或者undefined就将value作为错误抛出。
在回调中测试error参数时,这很有用。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。
更新日志
- 【雨果唱片】中国管弦乐《鹿回头》WAV
- APM亚流新世代《一起冒险》[FLAC/分轨][106.77MB]
- 崔健《飞狗》律冻文化[WAV+CUE][1.1G]
- 罗志祥《舞状元 (Explicit)》[320K/MP3][66.77MB]
- 尤雅.1997-幽雅精粹2CD【南方】【WAV+CUE】
- 张惠妹.2007-STAR(引进版)【EMI百代】【WAV+CUE】
- 群星.2008-LOVE情歌集VOL.8【正东】【WAV+CUE】
- 罗志祥《舞状元 (Explicit)》[FLAC/分轨][360.76MB]
- Tank《我不伟大,至少我能改变我。》[320K/MP3][160.41MB]
- Tank《我不伟大,至少我能改变我。》[FLAC/分轨][236.89MB]
- CD圣经推荐-夏韶声《谙2》SACD-ISO
- 钟镇涛-《百分百钟镇涛》首批限量版SACD-ISO
- 群星《继续微笑致敬许冠杰》[低速原抓WAV+CUE]
- 潘秀琼.2003-国语难忘金曲珍藏集【皇星全音】【WAV+CUE】
- 林东松.1997-2039玫瑰事件【宝丽金】【WAV+CUE】