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

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

  • <strong id="5koa6"></strong>
  • 軟件測試之nunit使用步驟

    發表于:2009-03-30來源:作者:點擊數: 標簽:軟件測試nunitNUnitNunit
    本文講述了如何用 NUnit 書寫和組織測試代碼的步驟。 簡單的Test Case 書寫 軟件測試 代碼的步驟: 1. 創建TestCase的一個實例; 2. Override方法RunTest(); 3. 如要檢查某值,則調用Assert。 例如,測試“兩個Money對象之和與包含它們之和的對象相等

    本文講述了如何用NUnit書寫和組織測試代碼的步驟。

    簡單的Test Case
    書寫軟件測試代碼的步驟:

    1.  創建TestCase的一個實例;

    2.  Override方法RunTest();

    3.  如要檢查某值,則調用Assert。

    例如,測試“兩個Money對象之和與包含它們之和的對象相等”的測試代碼如下:

    public void TestSimpleAdd() {

        Money m12CHF= new Money(12, "CHF");

        Money m14CHF= new Money(14, "CHF");

        Money expected= new Money(26, "CHF");

        Money result= m12CHF.Add(m14CHF);

        Assert(expected.Equals(result));

    }

    如果要寫的測試與以前寫的測試非常像,那么就寫一個Fixture來代替。如果想在一個測試中運行更多的東西,就創建一個Suite。

    Fixture
    如果有兩個或兩個以上的測試作用于相同或類似的對象集,我們該怎么辦呢?測試作用于一個已知的對象集,這個對象集被稱為fixture。一般建立這個fixture的時間比實際測試的時間多得多。

           當有個公共的fixture時,我們可以這么做:

    1.  創建TestCase的子類。

    2.  為fixture的每部分加入一個實例變量。

    3.  Override SetUp()初始化這些變量。

    4.  Override TearDown()釋放任何在SetUp中分配的永久資源。

    例如,編寫用來與12 Swiss Francs,14 Swiss Francs和28 US Dollars不同組合一起工作的TestCase時,首先創建一個fixture:

    public class MoneyTest: TestCase {

        private Money f12CHF;

        private Money f14CHF;

        private Money f28USD;

       

        protected override void SetUp() {

            f12CHF= new Money(12, "CHF");

            f14CHF= new Money(14, "CHF");

            f28USD= new Money(28, "USD");

        }

    }

    一旦準備好Fixture,就可書寫任意多的測試用例。

    Test Case
    當有一個Fixture如何書寫和調用一個獨立的Test Case呢?書寫一個沒有的fixture測試用例是非常簡單的——只需在TestCase 的一個子類中override RunTest。為一個Fixture書寫測試用例是同樣的方法,通過為set up代碼制造一個TestCase的子類,然后為每個獨立的測試用例制造不同的子類。然而,不久你就會注意到這些代碼中的大部分成為了語法的犧牲品。

    NUnit為書寫一個基于Fixture的測試提供了簡明的方法:

    1.  在fixture類中書寫一個public的測試方法。在此,必須確保這個方法是public的,否則它將不能通過reflection被調用。

    2.  創建這個TestCase的一個實例,并把這個測試方法的名字傳給它的constructor。

    例如,測試一個Money對象與另一個MoneyBag的和:

    public void TestMoneyMoneyBag() {

        // [12 CHF] + [14 CHF] + [28 USD] == {[26 CHF][28 USD]}

        Money bag[]= { new Money(26, "CHF"), new Money(28, "USD") };

        MoneyBag expected= new MoneyBag(bag);

       

    原文轉自: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>