成人AV在线无码|婷婷五月激情色,|伊人加勒比二三四区|国产一区激情都市|亚洲AV无码电影|日av韩av无码|天堂在线亚洲Av|无码一区二区影院|成人无码毛片AV|超碰在线看中文字幕

Node.js學(xué)習(xí)之?dāng)嘌詀ssert的使用

一、斷言概述斷言是編程術(shù)語,表示為一些布爾表達式,程序員相信在程序中的某個特定點該表達式值為真。斷言可以在測試時啟用,以驗證代碼的正確性,并在部署時禁用,使得代碼更加穩(wěn)定和不易出錯。同時,斷言還可以在

一、斷言概述

斷言是編程術(shù)語,表示為一些布爾表達式,程序員相信在程序中的某個特定點該表達式值為真。斷言可以在測試時啟用,以驗證代碼的正確性,并在部署時禁用,使得代碼更加穩(wěn)定和不易出錯。同時,斷言還可以在最終用戶遇到問題時重新啟用,方便問題排查。在Node.js中,有十多個斷言測試的函數(shù),可以用于測試不變式。

二、判斷值是否為真

判斷值是否為真有以下兩個斷言測試函數(shù):

2.1 assert(value[, message])

這個測試函數(shù)在value為true時通過斷言測試,否則拋出AssertionError。如果沒有指定message參數(shù),會使用默認的錯誤信息。

2.2 assert.ok(value[, message])

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

三、判斷預(yù)期值和實際值相等()

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

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

assert.equal()用于測試期望值和實際值是否相等。對于值類型的比較,比較的是兩個值是否相等;對于引用類型的比較,比較的是值的引用。

3.2 (actual, expected[, message])

()同樣也是測試預(yù)期值和實際值是否相等,使用的仍然是()。但是與equal()不同的是,deepEqual()在對引用類型進行比較的時候,比較的是對象的屬性值。

四、判斷預(yù)期值和實際值全等()

這組測試函數(shù)是用于判斷預(yù)期值和實際值是否深度相等的,內(nèi)部使用的是(),所以對象的原型也會進行比較,值得類型也是比較的范圍。

4.1 (actual, expected[, message])

由于內(nèi)部使用的是全等(),所以對象的原型也會計入比較的范圍。

4.2 (actual, expected[, message])

strictEqual()是equal()的加強版,考慮了數(shù)據(jù)類型。如果actual expected,則斷言通過,否則拋出AssertionError。

五、判斷預(yù)期值和實際值不相等(!)

這兒總結(jié)一下判斷預(yù)期值和實際值不相等的兩個測試函數(shù),實際上就是上面(三)的逆運算。

5.1 (actual, expected[, message])

notEqual()為equal()的逆運算,如果actual ! expected則斷言通過。

5.2 (actual, expected[, message])

notDeepEqual()為deepEqual()的逆運算,如果actual ! expected則斷言通過。

六、判斷預(yù)期值和實際值嚴格不相等(!)

這兒總結(jié)一下判斷預(yù)期值和實際值嚴格不相等的兩個測試函數(shù),實際上就是上面(四)的逆運算。

6.1 (actual, expected[, message])

如果actual ! expected則斷言通過。

6.2 (actual, expected[, message])

notDeepStrictEqual()就是deepStrictEqual()的逆運算,如果actual ! expected則斷言通過。

七、斷言錯誤并拋出

這一組有四個測試函數(shù),是對錯誤進行的處理。

7.1 (message)

這個測試函數(shù)可以用于主動拋出帶有message屬性的AssertionError對象。

7.2 (actual, expected[, message[, operator[, stackStartFunction]]])

該測試函數(shù)用于主動拋出自定義錯誤信息,拋出錯誤信息格式為:actual 參數(shù) operator 參數(shù) expected 參數(shù)。

7.3 (block, error, message)

如果block拋出的錯誤滿足error參數(shù),則斷言通過,否則拋出block中的錯誤。error參數(shù)可以

標(biāo)簽: