jas0nhuang

[筆記] Jest 測試入門

土炮測試

log 爆了你!

console.log(theFunction())
console.log(theFunction() === 'XXXX')

缺點就是沒辦法規模化、不好執行。

Jest 大神幫你測

JEST

  • 安裝 yarn add --dev jest
  • 基本使用方法:
    1. 先把想要測試的程式 export 出來:
      // 想被測的程式.js
      function 兩倍(x){
      return x * 2
      }
      module.exports = 兩倍
    2. 建立一個測試檔,引入想測試的程式:
      // 測試.test.js
      var 兩倍 = require('./想被測的程式')
    3. 然後寫測試:
      test('這裡你想打什麼就打什麼,例如:"5 的兩倍是 10"', function () {
      // 測試資料與預期結果
      expect(兩倍(5)).toBe(10)
      })
    4. 然後跑起來!
      1. ./node_modules/jest/bin/jest.js
      2. 在 package.json 檔案裡加一個 script:"test":"jest",然後 npm run test
      3. 如果 npm 版本夠新,也可以用 npx jest
        Jest 會自已去找所有 .test.js 的檔案來進行測試。當然也可以指定單一檔案測試。
  • 加一個 describe 包住其它測試資料, 可以讓同一個函式的所有測試被放到同一個群組裡
    describe('測試 兩倍', function() {
    test('這裡你想打什麼就打什麼', function () {
    // 測試資料與預期結果
    expect(兩倍(5)).toBe(10)
    })
    test('這裡你想打什麼就打什麼', function () {
    // 測試資料與預期結果
    expect(兩倍(9)).toBe(18)
    })
    })

    TDD 測試驅動開發

    先寫測試再寫程式。
    其實就是把一般先寫程式再測試的方法倒過來,之後寫新的 project 的時候可以試試看。