NUnit使用方法

        这两天突然对单元测试产生了兴趣,就找资料学习了NUnit。
        NUnit的官方网站下载地址为:www.nunit.org,如果是结合.net使用,最好下载win.net版。我一开始下载的是win版本的,结果无论我怎么加载.net的dll或是exe文件都不对,而且花费了大量的时间查找资料,修改NUnit的配置文件,结果还是不行。幸好后来突然发现是NUnit的版本问题。

        整个学习过程中,我使用的是vs2005+NUnit 2.2.8。下面记录下我的学习过程吧,以后也可以拿来自己看看了。

        在vs2005中新建一个class library工程,add 一个class,定义一个取数组最大值的函数,具体定义如下: public class Class1
{
    public int FindMax(int[] arr)
    {
        int i;
        int max=arr[0];
        for(i =1; 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了。

    [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,我们的测试通过拉!    

      

你可能感兴趣的:(软件测试)