技术开发 频道

NUnit详细使用方法

    2.2 一些常用属性
    接下来,我将讲述这个框架如何使用.同时也涉及到一些非常重要的概念,我想其客户属性是非常重要的.在NUnit里,有以下几种属性:
    Test Fixture
    Test
    下面我将对每种属性一一讲解.
    TestFixtureAttribute
    本属性标记一个类包含测试,当然setup和teardown方法可有可无.(关于setup 和teardown方法在后面介绍)
    做为一个测试的类,这个类还有一些限制
    必须是Public,否则NUnit看不到它的存在.
    它必须有一个缺省的构造函数,否则是NUnit不会构造它.
    构造函数应该没有任何副作用,因为NUnit在运行时经常会构造这个类多次,如果要是构造函数要什么副作用的话,那不是乱了.
    举个例子
    using System; 2  using NUnit.Framework; 3  namespace MyTest.Tests 4{ 5 6  [TestFixture] 7  public class PriceFixture 8  { 9    // 10  }11}

    TestAttribute
    Test属性用来标记一个类(已经标记为TestFixture)的某个方法是可以测试的.为了和先前的版本向后兼容,头4个字符(“test”)忽略大小写.(参看http://nunit.org/test.html)
    这个测试方法可以定义为: 
   
    public void MethodName()
 

    从上面可以看出,这个方法没有任何参数,其实测试方法必须没有参数.如果我们定义方法不对的话,这个方法不会出现在测试方法列表中.也就是说在NUnit的界面左边的工作域内,看不到这个方法.还有一点就是这个方法不返回任何参数,并且必须为Public.
    例如:
    using System; 2using NUnit.Framework; 3 4namespace MyTest.Tests 5{ 6  [TestFixture] 7  public class SuccessTests 8  { 9    [Test] public void Test1()10    { /**//*  */ }11  }12}

    一般来说,有了上面两个属性,你可以做基本的事情了.
    另外,我们再对如何进行比较做一个描述。
    在NUnit中,用Assert(断言)进行比较,Assert是一个类,它包括以下方法:AreEqual,AreSame,Equals


    3.如何在.NET中应用NUnit
    我将举个例子,一步一步演示如何去使用NUnit.
    第1步.为测试代码创建一个Visual Studio工程。
    在Microsoft Visual Studio .NET中,让我们开始创建一个新的工程。选择Visual C#工程作为工程类型,Class Library作为模板。将工程命名为NUnitQuickStart.图4-1是一个描述本步骤的Visual Studio .NET。  

    
                            图 4-1: 创建第一个NUnit工程
    第2步.增加一个NUnit框架引用
    在Microsoft Visual Studio .NET里创建这个例子时,你需要增加一个NUnit.framework.dll引用,如下:
    在Solution Explorer右击引用,然后选择增加引用
   NUnit.framework组件,在Add Reference对话框中按Select和OK按钮。
    图4-2 描述了这步:
     
    图 4-2: 增加一个 NUnit.framework.dll 引用到工程
    第3步.为工程加一个类.
    为工程加一个NumbersFixture类。这里是这个例子的代码。
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);
                        }
            }
}

0
相关文章