單元測試應該是隨時隨地都要能正確執行,只要它本身的邏輯是正確的!!
單元測試不應該隨著環境不同而有結果的落差,單元測試關注的是邏輯而不是與外部的關聯。
單元測試的標題需要具備好的可讀性、明確、標題與測試的內容精確吻合。
好的單元測試標題應該詳盡。
標題命名規則
單元測試標題盡量符合:受測方法_傳入參數意義_期望得到的結果。例:
「public void GetTest_帶入會員ID_應回此ID搜尋到的會員資料」。
一個測試只應該關注一件事情,如果受測目標有多種狀況,應該分成好幾個測試去涵蓋所有邏輯。
因此同樣這個方法應該就會有另一個測試為:
「public void GetTest_帶入會員ID_如搜尋不到該ID的會員_回傳Null」。
如果一個方法(method)裡面的IF ELSE很多,導致程式邏輯複雜度提高,則單元測試可能就會有對應的很多方法來涵蓋所有可能。
每個單元測試都只關注一種邏輯,而一個方法(method)也許包含多種邏輯狀況。
撰寫原則:The AAA Pattern
單元測試的內文撰寫應符合所謂的3A原則- Arrange = 準備受測物件、參數、預期結果
- Act = 執行受測方法
- Assert = 驗證執行結果與預測結果是否一致
單元測試 範例程式碼 C#
[C#][Unit Test] 02. 如何寫一個好的單元測試
0 留言