1、jest--環境搭建:檢視是否安裝成功
cmd進入\front-end testing demo\example目錄下輸入命令:npm install安裝所需要的依賴包 (只有第一次需要安裝依賴包)
安裝完成後,輸入npm test執行用例
選擇a執行所有的用例 輸入p是選擇執行哪個檔案的用例
2、jest--架構:(react+jest框架)
3.jest--用法
3.1.匹配器:
判斷陣列:tobe 、 toequalexpect(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年以前的 放心大膽的對其進行持續的維護甚至重構。單元測試的核心就是斷言,通過斷言來判斷 是否達...