欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Node.js利用斷言模塊assert進行單元測試的方法

 更新時間:2017年09月28日 11:13:46   作者:鳥仔?鴻仔  
最近在用Node寫一個實時聊天小應(yīng)用,其中就用到了單元測試,所以死下面這篇文章主要給大家介紹了關(guān)于Node.js利用斷言模塊assert進行單元測試的方法,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考借鑒,下面來一起看看吧。

前言

對于NodeJS, assert模塊提供了一系列的斷言測試,其實這個模塊主要傾向于內(nèi)部使用,但是也能被用于項目中, 可以通過require(‘a(chǎn)ssert')的方式引入,下面本文將給大家介紹關(guān)于Node.js用斷言模塊assert進行單元測試的相關(guān)內(nèi)容,分享出來供大家參考學習,下面話不多說了,來一起看看詳細的介紹吧。

方法如下:

首先先引入斷言assert模塊

var assert = require('assert');

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

 assert.ifError(value) //測試值是否不為 false,當為 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"
);

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關(guān)文章

  • NodeJs生成sitemap站點地圖的方法示例

    NodeJs生成sitemap站點地圖的方法示例

    這篇文章主要介紹了NodeJs生成sitemap站點地圖的方法示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-06-06
  • node-red File讀取好保存實例講解

    node-red File讀取好保存實例講解

    在本篇文章里小編給大家整理了關(guān)于node-red File讀取好保存的相關(guān)知識點內(nèi)容,有需要的朋友們可以參考下。
    2019-09-09
  • 詳解node單線程實現(xiàn)高并發(fā)原理與node異步I/O

    詳解node單線程實現(xiàn)高并發(fā)原理與node異步I/O

    本篇文章主要介紹了node單線程實現(xiàn)高并發(fā)原理與node異步I/O ,具有一定的參考價值,有興趣的可以了解一下
    2017-09-09
  • 詳解Node.js 命令行程序開發(fā)教程

    詳解Node.js 命令行程序開發(fā)教程

    一種編程語言是否易用,很大程度上,取決于開發(fā)命令行程序的能力。本篇文章主要介紹了Node.js 命令行程序開發(fā)教程,有興趣的可以了解一下
    2017-06-06
  • 詳解node Async/Await 更好的異步編程解決方案

    詳解node Async/Await 更好的異步編程解決方案

    這篇文章主要介紹了詳解Async/Await 更好的異步編程解決方案,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-05-05
  • 在Node.js中實現(xiàn)視頻收藏功能

    在Node.js中實現(xiàn)視頻收藏功能

    在構(gòu)建視頻分享平臺時,視頻的收藏功能是用戶互動的重要組成部分,本文將介紹如何在Node.js應(yīng)用中實現(xiàn)視頻收藏功能,包括數(shù)據(jù)模型的創(chuàng)建、業(yè)務(wù)邏輯的實現(xiàn)以及接口的驗證測試,需要的朋友可以參考下
    2024-04-04
  • 利用node.js開發(fā)cli的完整步驟

    利用node.js開發(fā)cli的完整步驟

    這篇文章主要給大家介紹了關(guān)于如何利用node.js開發(fā)cli的完整步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-12-12
  • nodejs實現(xiàn)獲取某寶商品分類

    nodejs實現(xiàn)獲取某寶商品分類

    這篇文章主要介紹了nodejs實現(xiàn)獲取某寶商品分類,十分的簡單實用,進入后臺直接打開控制臺,把代碼粘進去運行就OK了,有需要的小伙伴可以參考下。
    2015-05-05
  • NPM配置私服構(gòu)建內(nèi)網(wǎng)中央倉庫過程詳解

    NPM配置私服構(gòu)建內(nèi)網(wǎng)中央倉庫過程詳解

    這篇文章主要為大家介紹了NPM配置私服構(gòu)建內(nèi)網(wǎng)中央倉庫過程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-08-08
  • Node.js包管理工具(npm、yarn、cnpm)

    Node.js包管理工具(npm、yarn、cnpm)

    本文主要介紹了Node.js包管理工具,包含npm、yarn、cnpm者三種,借助包管理工具,可以快速開發(fā)項目,提升開發(fā)效率,下面就來具體介紹一下如何使用,感興趣的可以了解一下
    2024-08-08

最新評論