單元測試
一個單元代表的是系統中的工作單元或是一個使用案例
被測試的系統(System Under Test)我們稱做SUT或者Class Unit Test(CUT)
一個單元測試是一段程式呼叫一個工作單元,並驗證工作單元的一個具體最終結果。如果對這個最終結果的假設是錯誤的,那單元測試就失敗了。一個單元測試的範圍,可以小到一個方法,大到多個類別。
優秀單元測試的特質
- 自動化,可被重覆執行的
- 很容易被實現
- 非臨時性的
- 任何人都可以按鈕執行他
- 執行速度快
- 執行結果每次都是一致的
- 能完全掌控被測試的單元
- 完全被隔離的
- 若執行失敗會有清楚的原因
整合測試
整合測試是一個有順序的測試過程,將軟硬體相結合並進行測試直到整個系統被整合在一起。也就是這個測試對被測試的單元並沒有完全的控制,而是使用該單元一個或多個真實依賴的相依物件,例如:時間,網路,資料庫,執行緒,亂數產生器等等。
一個單元測試通常包含了三個行為
- 準備(Arrange):物件,建立物件,進行必要的設定
- 操作(Act): 物件
- 驗證(Asset): 某件事符合預期
Assert類別
- Assert.True: 驗證一個布林條件,見Assert.False
- Assert.AreEqual: 驗證傳回的值應相同
- Assert.AreSame: 驗證兩個參數應指向同一個物件
使用參數來測試
使用TestCase
標籤