寫文章的目的是:咱們應該在之前的學習認知的水平上進行學習,而不是一次次的重複,用文章記錄咱們的學習,先散而後才能成章。javascript
前端測試工具 jest, 咱們閱讀 Jest 官方文章以後,使用 Jest 從簡單到深刻的學習 Jest 的測試,方便咱們編寫高質量的組件。html
yarn add --dev jest
# 全局安裝
yarn add global jest
複製代碼
在根目錄建立 /test/index.test.js
前端
// index.test.js
test('plus', () => {
expect(1+2).toBe(3)
})
// 獲得以下的結果
Test Suites: 1 failed, 1 total
Tests: 1 failed, 1 total
Snapshots: 0 total
Time: 1.828s
複製代碼
若是使用過glup的話,這裏 test 函數就比如 gulp 的 task 任務。這裏理解爲 test 任務。java
任務 plus 的做用: expect 的值,與toBe 的值進行對比。android
expect(value), expect函數的參數是 value 表示一個值。其中expect函數的返回是一個指望對象,指望對象具備 toBe 方法,因此這就能構成一個閉環。正則表達式
有時候咱們須要嚴格的區分 undefined, null, false,gulp
// 匹配上面特定的值數組
定義分爲兩種: 定義toBeDefined, 沒有定義 toBeUndefined.異步
字符串類型,最多的就是用 regexp 來匹配,因此咱們仍是要把正則表示學好呀!函數
定義個函數,使用函數的形式來在test的時候拋出一個錯誤。
function compileAndroidCode() {
throw new Error('you are using the wrong JDK')
}
test('compiling android goes as expected', () => {
expect(compileAndroidCode).toThrow();
expect(compileAndroidCode).toThrow(Error)
// You can also use the exact error message or a regexp
expect(compileAndroidCode).toThrow('you are using the wrong JDK');
expect(compileAndroidCode).toThrow(/JDK/);
})
複製代碼
__test__
存放測試文件