• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 如何編寫綜合的單元測試方案(4)

    發表于:2012-06-27來源:伯樂在線作者:李瓊點擊數: 標簽:單元測試
    接下來兩個測試針對HasErrors這個屬性和ErrorsChanged事件。 [TestMethod] 1 2 3 4 5 6 public void Person_FirstName_Set_HasErrorsIsFalse() { var person = new Person( Adam , Smith ); person

      接下來兩個測試針對HasErrors這個屬性和ErrorsChanged事件。

      [TestMethod]

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

      [TestMethod]

    1
    2
    3
    4
    5
    6
    7
    public void Person_FirstName_Set_ErrorsChanged_Did_Not_Fire()
     {
     var person = new Person("Adam", "Smith");
     var errorsChangedAssert = new ErrorsChangedEventAssert(person);
     person.FirstName = "Bob";
     errorsChangedAssert.ExpectNothing();
     }

      目前我們有8個測試了,這意味著當我們修改FirstName的屬性值,我們要考慮會發生改變的每件事。但是這不算完。我們還需要確保沒有別的會被意外改變。理論上說,這意味著更多的斷言和相當數量的測試,但是,接下來我們采用取巧的方法,用ChangeAssert方法來替代HasErrors測試。

      [TestMethod]

    1
    2
    3
    4
    5
    6
    7
    public void Person_FirstName_Set_Nothing_Unexpected_Changed()
     {
     var person = new Person("Adam", "Smith");
     var changeAssert = new ChangeAssert(person);
     person.FirstName = "Bob";
     changeAssert.AssertOnlyChangesAre("FirstName", "FullName", "IsChanged");
     }

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>