• <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詳細使用方法(5)

    發表于:2011-05-08來源:不詳作者:領測軟件測試網采編點擊數: 標簽:
    第5步.編譯運行測試. 現在編譯solution。成功編譯后,開始應用程序。NUnit-Gui測試運行器出現。當你第一次開始NUnit-Gui,它打開時沒有測試加載。從File菜單

      第5步.編譯運行測試.

      現在編譯solution。成功編譯后,開始應用程序。NUnit-Gui測試運行器出現。當你第一次開始NUnit-Gui,它打開時沒有測試加載。從File菜單選擇Oprn,瀏覽NUnitQuickStart.dll的路徑。當你加載了測試的程序集,測試運行器為加載的程序集的測試產生一個可見的表現。在例子中,測試程序集僅有一個測試,測試程序集的結構如圖4-4所示:

      圖 4-4: 測試程序集的測試在 NUnit-Gui中的視圖

      按Run按鈕。樹的節點變為綠色,而且測試運行器窗口上的進度條變綠,綠色代表成功通過。

      4.其他的一些核心概念

      上面的例子介紹了基本的NUnit特性和功能. TestFixture, Test, 和 Assert是3個最基本的特征,我們可以用這些特性進行程序員測試了.但是有的時候,你覺得這3個遠遠不夠,比如有的時候打開一個數據庫連接多次,有沒有只讓它打開一次的方法呢?如果我想把測試分類,應該怎樣實現呢?如果我想忽略某些測試,又應該如何去完成呢?不用擔心,NUnit已經有這樣的功能了.

      下面我們一一作出回答.

      SetUp/TearDown 屬性

      在早期給的test fixture定義里,我們說test fixture的測試是一組常規運行時資源.在測試完成之后,或是在測試執行種,或是釋放或清除之前,這些常規運行時資源在一確定的方式上可能需要獲取和初始化.NUnit使用2個額外的屬性:SetUp 和TearDown,就支持這種常規的初始化/清除.我們上面的例子來描述這個功能.讓我們增加乘法.

     


    1using System;
    2using NUnit.Framework;
    3
    4namespace NUnitQuickStart
    5{
    6 [TestFixture]
    7 public class NumersFixture
    8 {
    9 [Test]
    10 public void AddTwoNumbers()
    11 {
    12 int a=1;
    13 int b=2;
    14 int sum=a+b;
    15 Assert.AreEqual(sum,3);
    16 }
    17 [Test]
    18 public void MultiplyTwoNumbers()
    19 {
    20 int a = 1;
    21 int b = 2;
    22 int product = a * b;
    23 Assert.AreEqual(2, product);
    24 }
    25
    26 }
    27}
    28

      我們仔細一看,不對,有重復的代碼,如何去除重復的代碼呢?我們可以提取這些代碼到一個獨立的方法,然后標志這個方法為SetUp 屬性,這樣2個測試方法可以共享對操作數的初始化了,這里是改動后的代碼:

     

    1using System;
    2using NUnit.Framework;
    3
    4namespace NUnitQuickStart
    5{
    6 [TestFixture]
    7 public class NumersFixture
    8 {
    9 private int a;
    10 private int b;
    11 [SetUp]
    12 public void InitializeOperands()
    13 {
    14 a = 1;
    15 b = 2;
    16 }
    17
    18 [Test]
    19 public void AddTwoNumbers()
    20 {
    21 int sum=a+b;
    22 Assert.AreEqual(sum,3);
    23 }
    24 [Test]
    25 public void MultiplyTwoNumbers()
    26 {
    27 int product = a * b;
    28 Assert.AreEqual(2, product);
    29 }
    30
    31 }
    32}
    33

      這樣NUnit將在執行每個測試前執行標記SetUp屬性的方法.在本例中就是執行InitializeOperands()方法.記住,這里這個方法必須為public,不然就會有以下錯誤:Invalid Setup or TearDown method signature

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