前端單元測試框架jest總結

2022-09-08 18:09:12 字數 2304 閱讀 9512

1、jest--環境搭建:檢視是否安裝成功

cmd進入\front-end testing demo\example目錄下輸入命令:npm install安裝所需要的依賴包 (只有第一次需要安裝依賴包)

安裝完成後,輸入npm test執行用例

選擇a執行所有的用例 輸入p是選擇執行哪個檔案的用例

2、jest--架構:(react+jest框架)

3.jest--用法

3.1.匹配器:

判斷陣列:tobe 、 toequal 

expect(2 + 2).tobe(4);

expect(data).toequal();

判斷浮點數:tobecloseto

expect(value).tobecloseto(0.3);

判斷異常:tothrow

expect(compileandroidcode).tothrow(configerror);

3.2.非同步測試:**函式、promise 、async函式

**函式示例:

測試promise示例:.resolves / .rejects匹配器

test('the data is peanut butter', () => );

});test('the data is peanut butter', () => );

test('the fetch fails with an error', () => );

async/await示例:

test('the data is peanut butter', async () => );

test('the data is peanut butter', async () => );

test('the fetch fails with an error', async () => );

3.3.測試前後邏輯處理:beforeall/afterall、beforeeach/aftereach

beforeall(() => );

afterall(() => );

beforeeach(() => );

aftereach(() => );

3.4.mock函式

示例1:

test('mockcallback', () => );

示例2:

test('mockcallback', () => ;

const bound = mymock.bind(b);

bound();

console.log(mymock.mock.instances);

// 這個函式被例項化兩次

expect(mymock.mock.instances.length).tobe(2);

// 這個函式被第一次例項化返回的物件中,有乙個 name 屬性,且被設定為了 'b'

expect(mymock.mock.instances[1].name).toequal('b');

});示例3:

users.js

import axios from 'axios';

class users

}export default users;

users.test.js

import axios from 'axios';

import users from './users';

jest.mock('axios');

test('should fetch users', () => ];

const resp = ;

axios.get.mockresolvedvalue(resp);

return users.all().then(data => expect(data).toequal(users));

});

3.5.快照測試

示例:

test('object equals', () => ;

expect(user).tomatchsnapshot();

});執行之後會在_test_目錄下生成乙個_snapshots_目錄 生成乙份快照

當用例中的值發生變化後,與快照不一致,用例執行會失敗

比如name: 'lebron james'改為name: 'lebron james1'再執行用例,用例執行會失敗

jest函式單元測試 相關**:

(官網)

前端單元測試jest入門

安裝jest及命令執行npm install g jest 安裝 jest 在專案根目錄下執行jest命令,或者jest 執行單個檔案的單元測試 jest coverage 執行單元測試並計算測試覆蓋率基礎入門 高階入門 相容es6 es2015 a.根目錄下建立檔案 babel.config.js...

jest單元測試實踐總結及react單元測試

jest 是facebook推出的一款測試框架,整合了 mocha,chai,jsdom,sinon等功能。和 mocha 和 chai 的功能很像,甚至可以相容部分 mocha 和 chai 的語法。可以這麼寫 import react from react import from enzyme ...

前端單元測試框架介紹

作為乙個前端,一開始並不知道單元測試的好處,覺得費時費力,效果也不明顯,直到有個模組因為效能問題進行了一次重構,被折磨得筋疲力盡的時候,才發現單元測試的好處,可以說,有了單元測試,才能面對其他同事寫的或者n年以前的 放心大膽的對其進行持續的維護甚至重構。單元測試的核心就是斷言,通過斷言來判斷 是否達...