如何编写综合的单元测试方案(2)

发表于:2012-06-27来源:伯乐在线作者:李琼点击数: 标签:单元测试
当我们执行这个测试时,会得到一个失败提示信息期望的属性名FirstName,但接收到的是IsChanged。显然,设置FirstName的属性触发了IsChanged标记,我们需要把它

  当我们执行这个测试时,会得到一个失败提示信息“期望的属性名‘FirstName’,但接收到的是’IsChanged’”。显然,设置FirstName的属性触发了“IsChanged”标记,我们需要把它考虑在内。因此我们把它加入:

  [TestMethod]

1
2
3
4
5
6
7
8
public void Person_FirstName_Set_PropertyChanged()
 {
 var person = new Person("Adam", "Smith");
 var eventAssert = new Granite.Testing.PropertyChangedEventAssert(person);
 person.FirstName = "Bob";
 eventAssert.SkipEvent(); //this was IsChanged
 eventAssert.Expect("FirstName");
 }

  鉴于以上两个测试,我们考虑当FirstName被修改时还有其他什么属性会改变。查看API,IsChanged和FullName属性会变化。

  [TestMethod]

1
2
3
4
5
6
public void Person_FullName_Changed_By_Setting_FirstName()
 {
 var person = new Person("Adam", "Smith");
 person.FirstName = "Bob";
 Assert.AreEqual("Bob Smith", person.FullName);
 }

原文转自:http://www.ltesting.net