每個用例編寫一到二個斷言是單元測試最佳實踐的常見內容.那些這么認為的是極少和只展示一個單元測試的人。因此如果你采納他們的建議,為一個很小的運算你都需要大量的單元測試去保證質量。這篇文章意圖通過例子展示,一個測試用例多個斷言是有必要和有價值的。
Person這個對象在數據綁定場景中經常出現,我們來看下。
測試FirstName
第一個來測試FirstName這個屬性的設置,開始如下:
[TestMethod]
1
2
3
4
5
6
|
java keyword">public void Person_FirstName_Set() { varperson = new Person( "Adam" , "Smith" ); person.FirstName = "Bob" ; Assert.AreEqual( "Bob" , person.FirstName); } |
接下來我們來測試FirstName的改變通知。
[TestMethod]
1
2
3
4
5
6
7
|
public void Person_FirstName_Set_PropertyChanged() { var person = new Person( "Adam" , "Smith" ); var eventAssert = new Granite.Testing.PropertyChangedEventAssert(person); person.FirstName = "Bob" ; eventAssert.Expect( "FirstName" ); } |
原文轉自:http://www.anti-gravitydesign.com