最近在幫客戶專案寫 e2e 測試,發現幾個常見錯誤

首先,e2e 跑起來很慢,會拖慢 CI 速度,應該不是多多益善,而是要挑高價值的來寫

很多基本狀況、訊息提示、UI 表現,應該要用 unit test 來處理,vue 與 react 應該都有對應的 component test 工具可以寫


再來,e2e 處理的情境要怎麼切分?這是典型的程式邊界(boundary)問題,也是 抽象化 問題的一種

網路上四處找範例,沒找到比較好用的設計方法,我試著自己設計

目前思考出幾個參考原則,要同時符合以下條件,才放進 e2e 測試

  • 高價值原則:如果用戶處在這個情境,然後測試跑失敗了,老闆會很緊張,工程師就算在週末也需要緊急修理
  • 變動頻繁原則:相關程式碼經常變動,所以每次在 CI 都跑測試會很有幫助
  • 最後手段原則:這裡提供的安全感,沒辦法用 unit test 或 integration test 取代

Refs

  • https://filiphric.com/how-to-structure-a-big-project-in-cypress
  • https://sendgrid.com/blog/ideas-for-configuring-organizing-and-consolidating-your-cypress-tests-frontendtwiliosendgrid/
  • https://www.linkedin.com/pulse/organizing-maintaining-your-cypress-test-suite-best-kate-serebryakova/
  • https://kentcdodds.com/blog/static-vs-unit-vs-integration-vs-e2e-tests
按讚的人:

共有 2 則留言

vue 官方文件還有介紹測試的種類和推薦工具 連結

react 文件都沒有QwQ

按讚的人:

哈哈 vue 真的是全套包到好!