單元測試 - 標題命名規則和撰寫原則


單元測試應該是隨時隨地都要能正確執行,只要它本身的邏輯是正確的!!

單元測試不應該隨著環境不同而有結果的落差,單元測試關注的是邏輯而不是與外部的關聯。

單元測試的標題需要具備好的可讀性、明確、標題與測試的內容精確吻合。

好的單元測試標題應該詳盡。

標題命名規則

單元測試標題盡量符合:受測方法_傳入參數意義_期望得到的結果

例:

「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 留言