国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

node.js學習之斷言assert的使用示例

2024-05-06 15:26:06
字體:
來源:轉載
供稿:網友

一. 簡介

斷言是編程術語,表示為一些布爾表達式,程序員相信在程序中的某個特定點該表達式值為真,可以在任何時候啟用和禁用斷言驗證,因此可以在測試時啟用斷言而在部署時禁用斷言。同樣,程序投入運行后,最終用戶在遇到問題時可以重新啟用斷言。

使用斷言可以創建更穩定、品質更好且 不易于出錯的代碼。當需要在一個值為FALSE時中斷當前操作的話,可以使用斷言。【單元測試】必須使用斷言。

Node提供了 10 多個斷言測試的函數,用于測試不變式,我在文章中中將這 10 多個函數進行了分組,方便理解記憶。

【提示】在本文章中,expected 代表預期值,actual 代表實際值, message 代表自定義信息

二. 判斷值是否為真值

判斷值是否為真值有以下兩個斷言測試函數

2.1 assert(value[, message])

這個測試函數在 【Boolean(value)】 為 【true】時通過斷言測試,否則拋出 【AssertionError】

const assert = require("assert");assert("blue","第一個值為false時以我為錯誤信息拋出");assert(true,"第一個值為false時以我為錯誤信息拋出");

上面一段代碼由于【Boolean(value)】全部為 true,所以全部通過斷言測試

assert(false,"第一個值為false時以我為錯誤信息拋出");// AssertionError [ERR_ASSERTION]: 第一個值為false時以我為錯誤信息拋出

上面代碼中 value 為false,則拋出一個帶有 message 屬性的 【AssertionError】,其中 message 屬性的值等于傳入的 message 參數的值。 【如果 message 參數為 undefined,則賦予默認的錯誤信息】。

assert(false);// AssertionError [ERR_ASSERTION]: false == true

上面代碼由于沒有指定【message】參數,拋出的為默認錯誤信息的【AssertionError】

2.2 assert.ok(value[, message])

assert.ok() assert()的作用是一樣的,都是測試【value】是否為真值。而且用法也一樣,所以可以將assert()視為assert.ok()的語法糖

const assert = require("assert");assert.ok(true);assert.ok(1);

上面代碼【Boolean(value)】全部為 true,所以全部斷言通過,下面是斷言不通過的情況,分別列出了默認錯誤信息

assert.ok(0);//AssertionError [ERR_ASSERTION]: 0 == trueassert.ok(false);//AssertionError [ERR_ASSERTION]: false == trueassert.ok(false,"自定義錯誤信息");//AssertionError [ERR_ASSERTION]: 自定義錯誤信息

三. 判斷預期值和實際值相等(==)

這一組里面有兩個測試函數,用于測試預期值與實際值是否相等,如果相等則斷言通過,否則拋出 【AssertionError】

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 章丘市| 崇信县| 大新县| 武山县| 息烽县| 沧州市| 溧水县| 桓台县| 班玛县| 瓮安县| 泉州市| 都江堰市| 阳春市| 定襄县| 会东县| 华坪县| 临湘市| 全椒县| 昭通市| 阿尔山市| 长丰县| 白朗县| 淮北市| 类乌齐县| 海伦市| 邵阳市| 称多县| 灵武市| 本溪市| 阜阳市| 五莲县| 新泰市| 天长市| 新巴尔虎左旗| 曲沃县| 旌德县| 久治县| 莱西市| 泰安市| 安陆市| 志丹县|