iT邦幫忙

2023 iThome 鐵人賽

DAY 22
0

一開始在寫程式的時候,其實就知道要測試程式碼的重要性,但很常因爲 code 落落長,通常都會偷懶…. 那今天就來補一下這方面相關的知識啦!

測試的單位?

  • Unit Test 「模組測試」指的是以 function 為最小單位,進行單元測試(可能是某個程式、函式、組件)。
  • 每個單位應該要是獨立的,不應該依賴於其他單元測試的結果
  • 通常會導入測試框架來執行,目前自己用過的有React Testing Library, Jest

舉個例子:

(使用jest)我今天想要驗證某個 api 是否有正確的被執行過一次


//描述今天要測試的案例
describe('Given Player first enter game',()=>{
  const consumeTokenMock = jest.fn(async () => ("567"));
  
  const MockAuthRepository = {
    consumeToken: consumeTokenMock,
  }

  beforeEach(() => {
    authToken = null;
    jest.clearAllMocks();
  })

  it('When Player has token and enter the game', async function () {
    expect(consumeTokenMock).toBeCalledTimes(1);
  });
})
  • jest 是用來執行 JavaScript 測試的框架,提供的 API 像是 expectdescribetesttoBetoEqual 等等

除了Unit Test 外,也有整合測試(integration testing)和 end-to-end testing。

通常當 code 的邏輯已經涵括太多方向的時候,或者是這個邏輯有太多 edge cases 需要確保都會正確呈現,或者是希望提高程式碼復用性都建議可以寫測試來提高程式碼的品質。

參考文章:


上一篇
APM 來幫忙
下一篇
Solid.js
系列文
往後端邁進的菜前端30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言