JS單元測試及原理

2022-01-10 15:37:29 字數 1283 閱讀 9610

單元測試是指對軟體中的最小可測試單元進行檢查和驗證,通過單元測試可以檢測出潛在的bug,還可以快速反饋功能輸出,驗證**是否達到預期,也可以保證**重構的安全性。

有這樣乙個方法:

let add = (a, b) => a + b;
這是乙個很簡單的計算兩個數的和的方法,假如我們想看看他的邏輯對不對,我們可以呼叫一下,然後跟我們預期的乙個值比較下,如果不符合就丟擲乙個錯誤:

let add = (a, b) => a + b;

let result = add(1, 2);

let expect = 3;

if(result !== expect),實際等於$`)

}

這其實就是單元測試的原理,但是這裡寫的方法太直白,而且不能復用,讓我們改造下expect,把它變成乙個通用方法:

const expect = (res) => ,但實際上卻是$!`)}}

}}

我們前面期望1+2=3,這其實就是乙個單元測試用例,當我們有多個用例的話,我們可以用一種更通用優雅的方式來寫用例,我們來寫乙個通用用例方法:

const test = (desc, fn) =>  -> pass`)

}catch(e) -> fail`, e);

}}

我們用這兩個通用方法來改寫下我們的單元測試:

let add = (a, b) => a + b;

const expect = (res) => ,但實際上卻是$!`)}}

}}const test = (desc, fn) => -> pass`)

}catch(e) -> fail`, e);

}}test('1+2=3', () => );

test('1+2=4', () => );

上面介紹的是單元測試的原理,事實上在我們寫單元測試的時候並不需要自己寫expecttest共用方法,需要用到的比對方法也遠遠不止tobe乙個。我們可以直接用第三方庫jest,他包含了幾乎所有我們需要的工具,使用方法官網都有,這裡主要講原理,使用方法不再贅述

「前端高階知識」系列文章:

學習筆記 js單元測試

斷言模組 單元測試 模組測試 是開發者編寫的一小段 用於檢驗被測 的乙個很小的 很明確的功能是否正確。通常而言,乙個單元測試是用於判斷某個特定條件 或者場景 下某個特定函式的行為。單元測試的目標一般是公共函式庫,由程式設計師自己完成測試。mocha 是乙個測試框架,自己已經提供了一套斷言,但是,我們...

單元測試 單元測試文章收藏

前言 前段時間公司計畫做自動化測試,自己也打算圍繞幾個點做相關調研,現在想想呢?其實對自動化測試的概念都還不是十分清晰,當時主要還是圍繞 單元測試 向qa小夥伴學習了一段時間,現由於公司重組,學習中斷,這裡簡單記錄一些單元測試好文,留待後續參考.什麼叫自動化測試?自動化測試覆蓋率?覆蓋率如何做到的?...

單元測試之Django單元測試

每個應用,自帶tests.py 整合在django的專案檔案裡,更多是開發人員寫django自動的測試執行 3.1 前後置方法執行特點 django.test.testcase類主要由前 後置處理方法和test開頭的方法組成 特點 繼承於django.test.testcase 測試用例都是test...