溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎么在Node.js中使用assert模塊實現(xiàn)單元測試

發(fā)布時間:2021-03-17 16:16:20 來源:億速云 閱讀:131 作者:Leah 欄目:web開發(fā)

這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)怎么在Node.js中使用assert模塊實現(xiàn)單元測試,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

方法如下:

首先先引入斷言assert模塊

var assert = require('assert');

1.assert(value, message), assert.ok(value, [message])  //判斷中值是否為true

 assert.ifError(value) //測試值是否不為 false,當(dāng)為 true 時拋出。常用于回調(diào)中第一個 error 參數(shù)的檢查。

var a = 0;
assert(a,'這里需要值為true');   //AssertionError: 這里需要值為true
assert.ok(a,'這里也要為true');  // AssertionError: 這里也要為true

2.assert.fail(actual, expected, message, operator) //拋出異常,有message時顯示message,沒有使用operator作為為分隔符

var a = 0;
assert.fail(a,1,'a!=1','<'); // AssertionError: a!=1
assert.fail(a,2,'','<');    // AssertionError: 0 < 2

3.assert.equal(actual, expected, [message])   //("=="判斷)是否相等 相反:notEqual

 assert.strictEqual(actual, expected, [message])  //("==="判斷)是否相等 相反:notStrictEqual

var a = 2;
var a='2';

assert.equal(a,b,'a,b不相等 ==')
assert.notEqual(a,b,'a,b相等')      // AssertionError: a,b相等
assert.strictEqual(a,b,'a,b不完全相等 ===') // AssertionError: a,b不完全相等 ===

4.assert.deepEqual(actual, expected[, message])、// 是否深度匹配  相反: notDeepEqual

var buf1 = new Buffer('abc');
var buf2 = new Buffer('abc');

assert.strictEqual(buf1, buf2, 'buf1和buf2不一樣'); //AssertionError: buf1和buf2不一樣
assert.notDeepEqual(buf1, buf2, 'buf1和buf2一樣'); //AssertionError: buf1和buf2一樣

5.assert.throws(block, [error], [message]) //聲明一個block用于拋出錯誤,'error'可以是構(gòu)造函數(shù),驗證函數(shù)或者正則表達式

    assert.doesNotThrow(block, [message])//聲明模塊不拋出錯誤

//構(gòu)造函數(shù)
assert.throws(
 function() {
 throw new Error("Wrong value");
 },
 Error
);

//正則
assert.throws(
 function() {
 throw new Error("Wrong value");
 },
 /value/
);

//自定義錯誤
assert.throws(
 function() {
 throw new Error("Wrong value");
 },
 function(err) {
 if ( (err instanceof Error) && /value/.test(err) ) {
  return true;
 }
 },
 "unexpected error"
);

上述就是小編為大家分享的怎么在Node.js中使用assert模塊實現(xiàn)單元測試了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI