回覆列表
  • 1 # 做前端的蝸牛

    為什麼需要單元測試?

    測試的作用當然是為了找出存在的問題,雖然在上線前需要經過QA測試,但是往往有很多邏輯是QA不瞭解的或者是不容易觸發的,其次做好的QA還是開發者本身,只有自己最瞭解自己的程式碼,可以利用單元測試全方位的對程式碼進行體檢,減少線上bug率!

    需要單元測試的場景

    理論上任何程式碼都需要單元測試,雖然對開發者的能力要求不算太高,但是會導致開發週期加長,所以個人理解是高複用率的程式碼需要單元測試,比如元件、開原始碼、工具等等,業務程式碼不太適合做單元測試!

    測試框架

    karma

    jasmine

    mocha

    jest

    這些比較流行

    什麼是karma?

    不是測試框架,只是一個web伺服器,需要自己配置測試框架,比如jasmine等

    在連線它的瀏覽器上執行測試程式碼,可以做除錯,在本地控制檯可以檢視單側結果

    可以配置多樣的報表

    測試框架特點

    mocha最流行,社群最成熟,需要引入斷言庫,簡單,靈活,支援promise,也可以新增對generators的支援

    jasmine適合tdd測試,沒有依賴,社群大,透過‘done’支援async和promise測試

    jest mock簡單,執行速度快,支援dom測試,支援RN測試等

    如何選擇框架?

    斷言庫是否好用

    測試風格:測試驅動 or 行為驅動

    對非同步是否支援良好

    社群是否活躍

    測試結果

    測試會生成報告,考慮覆蓋率的四個維度

    行覆蓋率:是否每一行都執行了?

    函式覆蓋率:是否每個函式都呼叫了?

    分支覆蓋率:是否每個if邏輯都執行了?

    語句覆蓋率:是否每一條語句都執行了?

  • 2 # 做前端的蝸牛

    為什麼需要單元測試?

    測試的作用當然是為了找出存在的問題,雖然在上線前需要經過QA測試,但是往往有很多邏輯是QA不瞭解的或者是不容易觸發的,其次做好的QA還是開發者本身,只有自己最瞭解自己的程式碼,可以利用單元測試全方位的對程式碼進行體檢,減少線上bug率!

    需要單元測試的場景

    理論上任何程式碼都需要單元測試,雖然對開發者的能力要求不算太高,但是會導致開發週期加長,所以個人理解是高複用率的程式碼需要單元測試,比如元件、開原始碼、工具等等,業務程式碼不太適合做單元測試!

    測試框架

    karma

    jasmine

    mocha

    jest

    這些比較流行

    什麼是karma?

    不是測試框架,只是一個web伺服器,需要自己配置測試框架,比如jasmine等

    在連線它的瀏覽器上執行測試程式碼,可以做除錯,在本地控制檯可以檢視單側結果

    可以配置多樣的報表

    測試框架特點

    mocha最流行,社群最成熟,需要引入斷言庫,簡單,靈活,支援promise,也可以新增對generators的支援

    jasmine適合tdd測試,沒有依賴,社群大,透過‘done’支援async和promise測試

    jest mock簡單,執行速度快,支援dom測試,支援RN測試等

    如何選擇框架?

    斷言庫是否好用

    測試風格:測試驅動 or 行為驅動

    對非同步是否支援良好

    社群是否活躍

    測試結果

    測試會生成報告,考慮覆蓋率的四個維度

    行覆蓋率:是否每一行都執行了?

    函式覆蓋率:是否每個函式都呼叫了?

    分支覆蓋率:是否每個if邏輯都執行了?

    語句覆蓋率:是否每一條語句都執行了?

  • 中秋節和大豐收的關聯?
  • 吉格斯面板哪個手感好?