Jest測(cè)試環(huán)境搭建簡(jiǎn)單介紹

一、介紹

Jest是 Facebook 的一套開(kāi)源的 JavaScript 測(cè)試框架, 它自動(dòng)集成了斷言、JSDom、覆蓋率報(bào)告等開(kāi)發(fā)者所需要的所有測(cè)試工具,是一款幾乎零配置的測(cè)試框架。

二、安裝

  1. 初始化環(huán)境。生成package.json文件,在根目錄執(zhí)行 npm init -y 初始化環(huán)境配置
npm init -y
  1. 安裝jest
//因?yàn)閖est是用在開(kāi)發(fā)環(huán)境的,我們也加上--save-dev 
npm install --save-dev jest 

或者

npm install --save-dev jest babel-jest babel-core babel-preset-env 

第一種是直接簡(jiǎn)單全局安裝;

第二種是安裝了babel-jest、 babel-core、 regenerator-runtime、babel-preset-env 這幾個(gè)依賴,為了讓我們可以使用ES6的語(yǔ)法特性進(jìn)行單元測(cè)試,ES6提供的 import 來(lái)導(dǎo)入模塊的方式,Jest本身是不支持的。

3. 注意事項(xiàng):
如果已經(jīng)安裝了babel一些列的工具后,使用import等es6的module語(yǔ)法還是報(bào)錯(cuò)的話,需要加一下配置:

  • 在根路徑添加babel.config.js文件

    babel.config.js

  • 文件內(nèi)添加以下配置內(nèi)容:

    //babel.config.js內(nèi)容
    module.exports = {
        presets: [['@babel/preset-env', {targets: {node: 'current'}}]],
    };
    

三、配置

  1. 修改根目錄package.json文件:
    打開(kāi)package.json文件,將script下的test的值修改為jest,這樣我們可以通過(guò)npm run test去調(diào)用
"scripts": {
    "test": "jest"
}
  1. 在需要測(cè)試的同級(jí)目錄下建立_tests_文件夾(文件夾名字可以自定義,但最好語(yǔ)義化),_tests_文件夾里建測(cè)試文件:xxx.spec.js 或 xxx.test.js

    xxx對(duì)應(yīng)需要測(cè)試的js文件名,方便查找,例如index.js的測(cè)試文件為index.spec.js.

在需要測(cè)試的index.js同級(jí)目錄建_tests_目錄

_tests_內(nèi)部

四、執(zhí)行

1. 單次執(zhí)行:在執(zhí)行過(guò)一次測(cè)試,如果更新代碼后重新測(cè)試,需要再次執(zhí)行命令。

  • 全局測(cè)試:在根目錄內(nèi)執(zhí)行命令 ' jest ',會(huì)自動(dòng)搜索到目錄內(nèi)所有的xxx.spec.js 和 xxx.test.js,并執(zhí)行測(cè)試邏輯
jest 
  • 針對(duì)單文件測(cè)試:在根目錄執(zhí)行命令 ' jest path '(path為測(cè)試文件的路徑),jest會(huì)根據(jù)路徑找到測(cè)試文件xxx.spec.js,執(zhí)行測(cè)試邏輯
jest js/xxx
或
jest js/xxx.spec.js

2. 伺服執(zhí)行,執(zhí)行一次命令后,測(cè)試程序保持監(jiān)聽(tīng),每次修改保存后自動(dòng)去執(zhí)行測(cè)試邏輯。

  • 配置package.json,
    在scripts內(nèi)添加兩個(gè)配置:"watch": "jest --watchAll", "coverage": "jest --coverage"
    "scripts": {
        "test": "jest",
        "watch": "jest --watchAll",
        "coverage": "jest --coverage"
    }
  • 執(zhí)行命令:jest js/index --watchAll,
    這樣就能保持實(shí)時(shí)監(jiān)聽(tīng),想要停止就control+c
    jest js/index --watchAll

五、補(bǔ)充

以上只是簡(jiǎn)單介紹了jest搭建,關(guān)于jest的用法就不做詳細(xì)介紹了,大家可以通過(guò)下邊的官方文檔來(lái)了解下~
【Jest中文文檔】

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容