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

  Person这个对象在数据绑定场景中经常出现,我们来看下。

  测试FirstName

  第一个来测试FirstName这个属性的设置,开始如下:

[TestMethod]
public voidPerson_FirstName_Set()
{
      varperson =newPerson("Adam","Smith");
      person.FirstName ="Bob";
      Assert.AreEqual("Bob", person.FirstName);
}


  接下来我们来测试FirstName的改变通知。

[TestMethod]
public voidPerson_FirstName_Set_PropertyChanged()
{
      varperson =newPerson("Adam","Smith");
      vareventAssert =newGranite.Testing.PropertyChangedEventAssert(person);
      person.FirstName ="Bob";
      eventAssert.Expect("FirstName");
}