现在的位置: 首页 > 综合 > 正文

学习NUnit测试1(简单的Nunit使用,用于了解Nunit)

2012年03月18日 ⁄ 综合 ⁄ 共 1466字 ⁄ 字号 评论关闭
由于面试的上机题需要找了一些资料。(以下资料转载他人)

测试目标:dll或是exe文件
环境    :VS2005+NUnit2.2.9
下边是简单学习过程(由简到繁)

第一步:在vs2005中新建一个class library工程,add 一个class,定义一个取数组最大值的函数,具体定义如下:

public class
Class1
{
    public int FindMax(int[] arr)
    {
        int
i;
        int max=arr[0];
        for(i =1; i<arr.Length;
i++)
        {
            if(arr[i]>max)
           
{
              max =arr[i];
             }
         }
        
return max;
     }
}

第二步,就该编写test code了。add
一个新的class,命名为Class1Test。再编写code之前,需要给该工程添加一个NUnit的引用,具体为:右键点击reference->add
reference->选择nunit.framework,然后在Class1Test文件中添加一个引用:using
NUnit.Framework。当然,添加引用的前提是已经安装了NUnit了。下面我们就可以开始code test了。[在这里我觉得在实际的应用中(主要是测试Dll中),还是应该添加一个测试专用的新工程]

    [TestFixture]
    public class Class1Test
    {
       
[Test]
        public void FindMaxTest()
        {
            int[]
arr1 ={ 1, 3, 10, 4 };
            int[] arr2 ={ 3, 10, 4, 1
};
            int[] arr3 ={ 1, 10, 4, 3 };
            int[] arr4 ={ -1,
-3, -5 };       

            Class1 myclass =new Class1();
            Assert.AreEqual(10,
myclass.FindMax(arr1));
            Assert.AreEqual(10,
myclass.FindMax(arr2));
            Assert.AreEqual(10,
myclass.FindMax(arr3));
            Assert.AreEqual(-1,
myclass.FindMax(arr4));
        }

    }

    先来解析一下这个类吧:[TestFixture]是NUnit的一个重要的属性,可以说是NUnit的一个标记吧,它向编译工具“宣布”:我要测试啦。[Test]一般用在一个函数之前,而且这个函数必须是public类型,而且无返回值,即void。

    
好了,我们的类与测试类都已经写完了(也可以把测试函数与源代码写在一个文件中,但我相信没有几个人会喜欢那样的方式的)。编译好之后,可以得到一个dll文件。

     
打开NUnit,点击file->open,选择刚刚编译的dll文件,这样就把文件加载到NUnit了,在它的界面的左边,我们可以看到刚才编写的测试函数FindMaxTest,选择工程项目,或是文件,或是测试函数,然后点击界面右边的Run,如果一路绿灯,OK,我们的测试通过拉!  

抱歉!评论已关闭.