跳至主要内容

[Day 28] 測試守則:如何讓測試更有規範

本系列逐漸來到尾聲~測試也介紹了差不多了,這一篇來談談在寫測試的時候應該要注意的事情,以下都是我個人的經驗,大家可以參考看看~

1. 測試描述統一語法:

建議在寫測試時,可以統一使用 describeit 來組織測試,不僅可以寫起來比較乾淨,也可以讓測試的語法更加統一。

2. 測試檔案位置:

在寫測試的時候,我認為將測試檔案放在與被測試檔案相同的資料夾中,會相對來說比較方便做引入,比起將測試碼做統一管理,個人比較偏好將測試分散在各個資料夾中,檔名的話以 .test.(jsx/tsx) 做結尾。

3. 元件能拆就拆:

前面有提到,越複雜的程式碼測試起來就越加耗時,所以如果能將複雜的元件拆分為更小、可重用的元件,更有助於進行測試並使元件更容易於維護。

4. 多使用依賴注入 (React):

以 React 來說,因為元件皆為函式,所以無法去測試元件裡所定義的函式,需要使用依賴注入以 props 的方式傳遞進去,才能夠進行模擬測試。

5. 測項單一且描述清楚:

在寫測試的時候最怕不知道在測試什麼,有時候一個 test case 裡面測試一大堆東西,只會增加在 debug 時的難度,所以建議一個 Test Case 只測試一個功能,而且測試的描述要清楚,這樣在測試失敗時才能夠快速找到問題。


以上就是我在寫測試時會遵守的規範,當然其實只要團隊內部有統一規範,都會有助於讓寫測試上更加順利,如果有更好的建議都歡迎底下留言討論!