使用mocha進行測試 區塊鏈

mocha安裝

  • npm install mocha --save-dev

mocha簡介

  • mocha是一個JavaScript的單元測試的框架,既可以運行在瀏覽器環境中,也可以運行在node.js環境中,只需要編寫測試用例,mocha就會將測試自動的運行,并且給出測試的結果

主要特點

  • 既可以測試簡單的JavaScript函數,也可以測試異步代碼
  • 既可以自動運行所有的測試,也可以只運行特定的測試
  • 可以支持before、after、beforeEach和aftereach來編寫初始化代碼

測試用例?

不使用mocha的版本

sum.js

  • 使用module.exports = function ,別的文件只需要require這個文件,就可以使用其內部的函數
  • ...rest? ?不限制輸入參數的多少,但是輸入的參數會形成一個數組
module.exports = function (...rest){var sum = 0;for(let i of rest){sum += i;}return sum;
}

testSum.js?

  • 使用node testSum.js執行
const assert = require('assert');
const sum = require('/sum.js')assert.strictEqual(sum(),0);
assert.strictEqual(sum(1,2),2);
assert.strictEqual(sum(1,2,3),2);
console.log("all asert over!");

?

使用mocha的版本

testSum.js

  • 使用./node_modules/mocha/bin/mocha?testSum.js執行
const assert = require('assert');
const sum = require('./sum.js')describe('#sum.js',()=>{describe('#sum.js',()=>{it('sum() should return 0',()=>{assert.strictEqual(sum(),0);});it('sum(1,2) should return 3',()=>{assert.strictEqual(sum(1,2),3);});it('sum(1,2,3) should return 6',()=>{assert.strictEqual(sum(1,2,3),6);});});
});

  • 如果測試存在錯誤

補充

  • 單獨使用命令./node_modules/mocha/bin/mocha ?
  • 只需要創建一個test文件夾,然后將測試需要的腳本放到測試文件夾下面
  • 還需要改路徑喔,const sum = require('./sum.js')

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/447146.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/447146.shtml
英文地址,請注明出處:http://en.pswp.cn/news/447146.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Linux學習筆記(六)

參考書籍:linux就該這么學 6.存儲結構與磁盤劃分 6.1 文件系統與數據資料 6.2 掛載硬件設備 6.2.1 mount 命令用于掛載文件系統 6.2.2 umount 命令用于撤銷已經掛載的設備文件 6.3 添加硬盤 6.3.1 fdisk 命令用于管理磁盤分區 6.3.2 用于查看文件數據占用量的 du 命…

實現Linux系統外部和容器內部的文件傳輸

主機和容器之間進行文件傳輸,需要使用容器的ID即可 獲取方法如下 輸入指令 docker ps -a只需要CONTAINER ID傳輸命令 docker cp 本地文件路徑 容器ID:容器的路徑將文件從容器拷貝到本地的原理是一致的,只需要將對應路徑的位置進行更換即可

Linux學習筆記(五)

參考書籍:linux就該這么學 5 用戶身份與文件權限 5.1 用戶身份與能力 強烈推薦大家在學習時使用 root 管理員權限!因為在 Linux 的學習過程中如果使用普通用戶身份進行操作,則在配置服務之后出現錯誤時很難判斷是系統自身的問題還是因為權限不…

清除Docker的占用空間問題

使用命令查看磁盤的空間 docker system df ,類似于Linux的df命令,用于查看Docker使用的磁盤空間Docker鏡像占據了4.789GBDocker容器占據了348BDocker數據卷占據了0B 執行刪除命令 docker system prune命令可以用于清理磁盤,刪除關閉的容器、…

集訓01-03 (c++實現)

#include<bits/stdc.h>與using namespace std;在第一第二行加上就行&#xff0c;無需了解 cin cout endl為c的輸入&#xff0c;輸出與換行符 Istringsteam 是string流,用來string轉換為int 五個函數&#xff08;需要稍微了解c迭代器&#xff0c;lambda(類似函數)&#xf…

區塊鏈的完整流程 自動化執行代碼

通過npm script機制&#xff0c; 在package.json文件中&#xff0c;輸入對應的代碼&#xff0c;就可以自動化執行相關的函數使用npm run test執行package.json中的內容&#xff0c;因為package.json包含test&#xff0c;所以可行&#xff0c;但是使用npm run compile會報錯

集訓04-06 (c++實現)

極力推薦《算法筆記》這本書&#xff01;&#xff01;&#xff01; 極力推薦《算法筆記》這本書&#xff01;&#xff01;&#xff01; 極力推薦《算法筆記》這本書&#xff01;&#xff01;&#xff01; &#xff08;重要的事情說三遍&#xff09; 數據結構和算法講的很好&…

數字簽名和數字信封之間的介紹

介紹 公鑰密碼體制在實際應用中包含數字簽名和數字信封兩種方式 數字簽名 指用戶用自己的【私鑰】對原始數據的哈希摘要進行加密所得的數據。數字簽名定義兩種互補的運算&#xff1a;一個用于簽名&#xff0c;另一個用于驗證。"私鑰簽名,公鑰驗證"簽名&#xff1a;…

Linux學習筆記(三)

參考書籍&#xff1a;Linux就該怎么學 3 管道符、重定向與環境變量 3.1.1 輸入輸出重定向 ? 標準輸入重定向&#xff08;STDIN&#xff0c;文件描述符為 0&#xff09;&#xff1a;默認從鍵盤輸入&#xff0c;也可從其他文件或命令中輸入。 ? 標準輸出重定向&#xff08;STDO…

windows版本的clion軟件除了使用wsl配置Ubuntu子系統外,還可以使用MinGW-w64來配置gcc和g++

主要內容 MinGW-w64安裝CMake安裝環境配置參考鏈接 MinGW-w64安裝配置 安裝配置分為在線版本和離線版本&#xff0c;推薦使用離線版本&#xff0c;因為在線版本很慢&#xff0c;需要插入網線進行操作參考鏈接 這個是百度云下載地址&#xff0c;相對于從官網下載速度稍微快一些…

python學習路線

自用 Task1: 如果對一個列表&#xff0c;既要遍歷索引又要遍歷元素時&#xff0c;首先可以這樣寫&#xff1a; list1 ["這", "是", "一個", "測試"] for i in range (len(list1)):print i ,list1[i]#上述方法有些累贅&#xff0c…

解決使用MinGW編譯C++代碼報cannot find -lxxxx的問題

報錯的截圖如下面所示 我一開始使用target_link_libraries(ThreadTest libsdf_core.dll)這條命令來將dll庫文件和項目文件關聯起來&#xff0c;但是解決不了問題也嘗試在編譯代碼的環境時候&#xff0c;將dll庫文件的絕對路徑加入到編譯環境中&#xff0c;但是也沒有用解決辦法…

Linux搭建深度學習環境使用指南

本文檔歸納不收悉的linux知識點&#xff0c;自用 終端美化&#xff1a;https://zhuanlan.zhihu.com/p/37195261&#xff08;unix終端通用&#xff09; 基礎linux命令&#xff1a;https://blog.csdn.net/q357010621/article/details/80248611 shell是什么&#xff1f;shell是一…

CLion 輸出遇到亂碼解決辦法,GBK和utf-8的轉換

具體操作 File -> Settings -> Default Settings -> Editor -> File Encodings:Global Encoding: UTF-8Project Encoding : UTF-8Default encoding for properties files: UTF-8 圖片展示 然后&#xff0c;在main.cpp右下角選擇語言編碼格式為GBK&#xff0c;在彈…

Vim使用方法歸納

編輯模式i 0 &#xff1a;光標移至行首d0 : 刪除到行首$ &#xff1a;光標移至行尾D/d$ : 刪除到行尾dd &#xff1a; 刪除當前行yy/nyy : 復制當前行/復制n行p/P &#xff1a; 粘貼&#xff08;vim中刪除是剪切&#xff0c;可以刪除后用p粘貼&#xff09;u &#xff1a; 撤回…

區塊鏈中涉及到密碼學的場景

區塊鏈中涉及到密碼學的場景 共識算法&#xff08;Consensus algorithm&#xff09;交易簽名&#xff08;Signing transaction)第二層網絡如何在第一層網絡中驗證&#xff08;Layer2’s verification on Layer1&#xff09;驗證跨鏈交易&#xff08;Verifying the cross chain…

epoll 轉kqueue的用法介紹和實例 實現跨平臺Macos

網上關于kqueue的博客很少 我來補充一個例子echo 的例子 #include <stdlib.h> #include <unistd.h> #include <fcntl.h> #include <errno.h> #include <string.h> #include<stdio.h> #include<arpa/inet.h> #include<sys/event.…

區塊鏈中的密碼學,使用ABE結合區塊鏈

ABE 密碼學&#xff0c;以及與區塊鏈結合的價值 背景 區塊鏈技術具備篡改難度高、使用成本低、分布式的優點&#xff0c;本應成為各行各業的重要助力。但是由于鏈上參與方擔心自己的核心數據外泄&#xff0c;不愿將自己的核心數據上鏈&#xff0c;這個原因成為阻止區塊鏈落地…

VMware虛擬機安裝Ubuntu系統教程

所使用的文件如下&#xff1a; VMware Workstation 17 Pro ubuntu-22.04.3-desktop-amd64.iso 一、ubuntu 命名規則及各版本一覽表 1.ubuntu 命名規則&#xff1a; 例如&#xff1a;ubuntu 16.04 LTS 是長期維護版本&#xff1b;ubuntu 17.04 是新特性版本 前兩位數字為發…

C++靜態類型成員變量的初始化順序(單例模式)

對編譯器來說&#xff0c;靜態成員變量的初始化順序和析構順序是一個未定義的行為 #include <string> #include <iostream> using namespace std; class Base{ public:static int b;static int a;}; int Base::b 2; int Base::a b 1;int main() {Base base;cou…