• <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詳細使用方法四

    發表于:2012-01-11來源:未知作者:娃娃點擊數: 標簽:nunit
    4.其他的一些核心概念 上面的例子介紹了基本的NUnit特性和功能. TestFixture, Test, 和 Assert是3個最基本的特征,我們可以用這些特性進行程序員測試了.但是有的時候,你覺得這3個遠遠不夠,比如有的時候打開一個數據庫連接多次,有沒有只讓它打開一次

      4.其他的一些核心概念

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

      下面我們一一作出回答.

      SetUp/TearDown 屬性

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

      using System;

    using NUnit.Framework;
    namespace NUnitQuickStart

      {

      [TestFixture]

      public class NumersFixture

      {

      [Test]

      public void AddTwoNumbers()

      {

      int a=1;

      int b=2;

      int sum=a+b;

      Assert.AreEqual(sum,3);

      }

      [Test]

      public void MultiplyTwoNumbers()

      {

      int a = 1;

      int b = 2;

      int product = a * b;

      Assert.AreEqual(2, product);

      }

      }

      }

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

      using System;

    using NUnit.Framework;
    namespace NUnitQuickStart

      {

      [TestFixture]

      public class NumersFixture

      {

      private int a;

      private int b;

      [SetUp]

      public void InitializeOperands()

      {

      a = 1;

      b = 2;

      }

      [Test]

      public void AddTwoNumbers()

      {

      int sum=a+b;

      Assert.AreEqual(sum,3);

      }

      [Test]

      public void MultiplyTwoNumbers()

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