一、單元測試特質
- 單元測試是一段自動化的程式碼。
- 呼叫測試的工作單元,並對該單元進行某些驗證。
- 單元測試使用單元測試框架進行撰寫。
- 單元測試撰寫容易,執行快速、可靠、易讀。
- 單元測試的執行結果是穩定一致的。
二、單元測試流程
- Arrange( 準備 ) 建立物件、進行必要的設定
- Act( 操作 ) 物件
- Assert( 驗證 ) 符合預期與否
三、單元測試命名
[UnitOfWorkName] _ [ScenarioUnderTest] _ [ExpectedBehavior]
-
UnitOfWorkName:被測試的方法或類別
-
ScenarioUnderTest:測試進行的假設條件 (例如登入失敗、無效的使用者、密碼正確)
-
ExpectedBehavior:在測試情境的假設條件下,行為的預期 (回傳一個結果值、系統狀態的改變、呼叫外部第三方系統提供的服務)
四、 NUnit 特性
-
[TestFixture] 標記一個包含 NUnit 測試的類別。
-
[Test] 可以加在一個方法上,用來標記這個方法是一個需要被執行的自動化測試。
NUnit 要求測試方法必須是公開的且為 void, 在基本設定情況下,不允許傳入參數,但是有時這些情況可以使用參數。
-
[TestCase()] Test Explorer 會將測試方法代入測試參數全部列出來
-
Values 於測試方法參數內帶入 會列出所有組合,如果需要一對一測試組合就要加上Sequential