每个用例编写一到二个断言是单元测试最佳实践的常见内容.那些这么认为的是极少和只展示一个单元测试的人。因此如果你采纳他们的建议,为一个很小的运算你都需要大量的单元测试去保证质量。这篇文章意图通过例子展示,一个测试用例多个断言是有必要和有价值的。
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" ); } |