
- Node.js 教程
- Node.js - 首頁
- Node.js - 簡介
- Node.js - 環境設定
- Node.js - 第一個應用程式
- Node.js - REPL 終端
- Node.js - 命令列選項
- Node.js - 包管理器 (NPM)
- Node.js - 回撥函式概念
- Node.js - 上傳檔案
- Node.js - 傳送電子郵件
- Node.js - 事件
- Node.js - 事件迴圈
- Node.js - 事件發射器
- Node.js - 偵錯程式
- Node.js - 全域性物件
- Node.js - 控制檯
- Node.js - 程序
- Node.js - 應用程式擴充套件
- Node.js - 打包
- Node.js - Express 框架
- Node.js - RESTful API
- Node.js - 緩衝區
- Node.js - 流
- Node.js - 檔案系統
- Node.js MySQL
- Node.js - MySQL 快速入門
- Node.js - MySQL 建立資料庫
- Node.js - MySQL 建立表
- Node.js - MySQL 插入資料
- Node.js - MySQL 查詢資料
- Node.js - MySQL 條件查詢
- Node.js - MySQL 排序
- Node.js - MySQL 刪除資料
- Node.js - MySQL 更新資料
- Node.js - MySQL 連線查詢
- Node.js MongoDB
- Node.js - MongoDB 快速入門
- Node.js - MongoDB 建立資料庫
- Node.js - MongoDB 建立集合
- Node.js - MongoDB 插入資料
- Node.js - MongoDB 查詢資料
- Node.js - MongoDB 查詢
- Node.js - MongoDB 排序
- Node.js - MongoDB 刪除資料
- Node.js - MongoDB 更新資料
- Node.js - MongoDB 資料限制
- Node.js - MongoDB 連線查詢
- Node.js 模組
- Node.js - 模組
- Node.js - 內建模組
- Node.js - 實用程式模組
- Node.js - Web 模組
- Node.js 有用資源
- Node.js - 快速指南
- Node.js - 有用資源
- Node.js - 討論
Node.js - assert.verify() 函式
assert 模組提供了一組斷言函式,用於驗證不變式。tracker.verify() 函式是 Node.js assert 模組的內建函式。
Node.js tracker.verify() 函式迭代傳遞給 tracker.calls() 函式的函式,如果傳遞給 tracker.calls() 的函式沒有按照預期次數被呼叫,則 tracker.verify() 函式將丟擲錯誤。
如果函式被呼叫的次數符合預期,則此函式不會丟擲任何錯誤。
語法
以下是Node.js tracker.verify() 函式的語法:
tracker.verify();
引數
此函式不接受任何引數。
返回型別
如果函式沒有按照預期次數被呼叫,tracker.verify() 函式將丟擲錯誤。
示例
在下面的示例中:
首先,我們建立一個呼叫跟蹤器物件。
然後我們將函式func包裝在包裝函式funccall內。
我們沒有向 Node.js tracker.calls() 函式的exact引數傳遞任何值,它將取 1 作為預設值。因此,預期函式func至少應被呼叫一次。
const assert = require('assert'); const tracker = new assert.CallTracker(); function func() {} const funccall = tracker.calls(func); funccall(); funccall(); tracker.verify();
輸出
/home/cg/root/63a002c52763b/main.js:3 const tracker = new assert.CallTracker(); ^ TypeError: assert.CallTracker is not a constructor at Object.<anonymous> (/home/cg/root/63a002c52763b/main.js:3:17) at Module._compile (internal/modules/cjs/loader.js:702:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:713:10) at Module.load (internal/modules/cjs/loader.js:612:32) at tryModuleLoad (internal/modules/cjs/loader.js:551:12) at Function.Module._load (internal/modules/cjs/loader.js:543:3) at Function.Module.runMain (internal/modules/cjs/loader.js:744:10) at startup (internal/bootstrap/node.js:238:19) at bootstrapNodeJSCore (internal/bootstrap/node.js:572:3)
注意 - 有時線上編譯器可能無法給出預期的結果,因此我們會在本地執行以上程式碼。
從下面的輸出中可以看到,函式func被呼叫了兩次,因此 tracker.verify() 函式將丟擲錯誤。

示例
在下面的示例中,我們將 4 傳遞給 Node.js tracker.calls() 函式的exact引數。因此,預期函式func至少應被呼叫四次。
const assert = require('assert'); const tracker = new assert.CallTracker(); function func() {} const funccall = tracker.calls(func, 4); funccall(); funccall(); tracker.verify();
輸出
/home/cg/root/63a002c52763b/main.js:3 const tracker = new assert.CallTracker(); ^ TypeError: assert.CallTracker is not a constructor at Object.<anonymous> (/home/cg/root/63a002c52763b/main.js:3:17) at Module._compile (internal/modules/cjs/loader.js:702:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:713:10) at Module.load (internal/modules/cjs/loader.js:612:32) at tryModuleLoad (internal/modules/cjs/loader.js:551:12) at Function.Module._load (internal/modules/cjs/loader.js:543:3) at Function.Module.runMain (internal/modules/cjs/loader.js:744:10) at startup (internal/bootstrap/node.js:238:19) at bootstrapNodeJSCore (internal/bootstrap/node.js:572:3)
注意 - 有時線上編譯器可能無法給出預期的結果,因此我們會在本地執行以上程式碼。
從下面的輸出中可以看到,函式func僅被呼叫了兩次,因此 tracker.verify() 函式將丟擲錯誤。

示例
在下面的示例中,函式func被呼叫的次數符合預期。
const assert = require('assert'); const tracker = new assert.CallTracker(); function func() {} const funccall = tracker.calls(func, 4); funccall(); funccall(); funccall(); funccall(); tracker.verify();
輸出
/home/cg/root/63a002c52763b/main.js:3 const tracker = new assert.CallTracker(); ^ TypeError: assert.CallTracker is not a constructor at Object.<anonymous> (/home/cg/root/63a002c52763b/main.js:3:17) at Module._compile (internal/modules/cjs/loader.js:702:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:713:10) at Module.load (internal/modules/cjs/loader.js:612:32) at tryModuleLoad (internal/modules/cjs/loader.js:551:12) at Function.Module._load (internal/modules/cjs/loader.js:543:3) at Function.Module.runMain (internal/modules/cjs/loader.js:744:10) at startup (internal/bootstrap/node.js:238:19) at bootstrapNodeJSCore (internal/bootstrap/node.js:572:3)
注意 - 有時線上編譯器可能無法給出預期的結果,因此我們會在本地執行以上程式碼。
如果我們編譯並執行以下程式碼,tracker.verify() 函式不會丟擲任何錯誤。
// Returns nothing