一、單元測試特質

  1. 單元測試是一段自動化的程式碼。
  2. 呼叫測試的工作單元,並對該單元進行某些驗證。
  3. 單元測試使用單元測試框架進行撰寫。
  4. 單元測試撰寫容易,執行快速、可靠、易讀。
  5. 單元測試的執行結果是穩定一致的。

二、單元測試流程

  1. Arrange( 準備 ) 建立物件、進行必要的設定
  2. Act( 操作 ) 物件
  3. Assert( 驗證 ) 符合預期與否

三、單元測試命名

[UnitOfWorkName] _ [ScenarioUnderTest] _ [ExpectedBehavior]

  1. UnitOfWorkName:被測試的方法或類別

  2. ScenarioUnderTest:測試進行的假設條件 (例如登入失敗、無效的使用者、密碼正確)

  3. ExpectedBehavior:在測試情境的假設條件下,行為的預期 (回傳一個結果值、系統狀態的改變、呼叫外部第三方系統提供的服務)

四、 NUnit 特性

  1. [TestFixture] 標記一個包含 NUnit 測試的類別。

  2. [Test] 可以加在一個方法上,用來標記這個方法是一個需要被執行的自動化測試。

NUnit 要求測試方法必須是公開的且為 void, 在基本設定情況下,不允許傳入參數,但是有時這些情況可以使用參數。

  1. [TestCase()] Test Explorer 會將測試方法代入測試參數全部列出來

  2. Values 於測試方法參數內帶入 會列出所有組合,如果需要一對一測試組合就要加上Sequential