上一篇聊到了測試的重要性,但其實我第一次理解到 TDD 的概念時,是處於一種無法理解作法、混沌的感覺。
以資料處理為導向的後端,在測試上可能更加容易理解作法,但前端牽扯到的各種畫面邏輯又如何進行測試呢?
雖然就我目前的心得來說,前端還是不太容易進行純粹的 TDD 開發模式,畢竟牽扯得太多 UI 操作邏輯會是測試上的困難,加上測試也不光是覆蓋越高就越好,而是要聚焦在複雜而重要的地方。
常規情況下許多單純的組件、畫面其實沒有過多測試的必要。
正常測試會說要以 function 為單位來進行測試,但是現在以組件化為主流的前端架構中,常常會見到將大量邏輯、狀態一股腦塞進組件的做法。
這樣會產生的問題之一是重複邏輯難以複用,再來就是讓測試無從下手,畢竟 Unit test 是最基礎的 in-out 測試,要處理太過複雜的狀態並不容易。
所以一開始就要有所意識,盡可能的保持組件中只有 UI 邏輯,業務相關的邏輯則另外抽出來抽象化。