天天看點

使用Jest測試js代碼

為什麼使用Jest?

 1. Jest 可以利用其特有的快照測試功能,通過比對 UI 代碼生成的快照檔案,實作對 React 等常見架構的自動測試。此外, Jest 的測試用例是并行執行的,而且隻執行發生改變的檔案所對應的測試,提升了測試速度

 2.安裝配置簡單,非常容易上手,幾乎是零配置的,通過npm 指令安裝就可以直接運作了

 3. Jest 内置了測試覆寫率工具istanbul,可以通過指令開啟或者在 package.json 檔案進行更詳細的配置。運作 istanbul 除了會再終端展示測試覆寫率情況,還會在項目下生産一個 coverage 目錄,内附一個測試覆寫率的報告,讓我們可以清晰看到分支的代碼的測試情況。

 4. 內建了斷言庫,不需要再引入第三方的斷言庫,并且非常完美的支援React元件化測試。

安裝Jest

  • 輸入如下指令

    npm init -y

    ,在項目中進行初始化package.json
  • 全局安裝Jest:輸入如下指令

    npm install jest -g

使用Jest

 建立需要被測試的js檔案檔案(進行聲明變量,并将其導出):

//聲明變量
	const helloTest = "hello world";
	//列印該變量
	console.log(helloTest);
	//将其成員導出
	module.exports = helloTest
           

 建立檔案夾名稱為

__test__

,聲明測試檔案,檔案名稱最好符合規範為,測試檔案名稱+

.spec.js

,具體看圖為例:

       

使用Jest測試js代碼

 在

index.spec.js

中輸入如下代碼:

test("測試hello World", () => {
		//将index.js導出的變量指派給ret
	    const ret = require("../index")
	    //斷言
	    //如果ret等于hello world的話則認為斷言成功,如果不等于的話則認為斷言失敗使得報錯
	    expect(ret).toBe("hello world")
	}) 

           

 在控制台運作如下代碼

jest helloworld

,語句中的helloworld代表檔案夾,是以需要在hellowolrd檔案夾的父級目錄輸入如下語句進行測試。測試結果:

使用Jest測試js代碼

 代表斷言成功,比對到了ret變量中的hello world字元串。

結束

 有幫助的話就點個贊呗~

繼續閱讀