您的位置:軟件測試 > 開源軟件測試 > 開源單元測試工具 > Nunit
一步一步學(xué)NUnit(一)
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2014/1/7 10:55:48 ] 推薦標(biāo)簽:單元測試 NUnit

  單元測試基礎(chǔ)知識

  單元測試是開發(fā)者編寫的一小段代碼,用于檢驗(yàn)被測代碼的一個很小的、很明確的功能是否正確。通常而言,一個單元測試是用于判斷某個特定條件(或者場景)下某個特定函數(shù)的行為。例如,你可能把一個很大的值放入一個有序list 中去,然后確認(rèn)該值出現(xiàn)在list 的尾部;蛘,你可能會從字符串中刪除匹配某種模式的字符,然后確認(rèn)字符串確實(shí)不再包含這些字符了。

  執(zhí)行單元測試,是為了證明某段代碼的行為確實(shí)和開發(fā)者所期望的一致。

  當(dāng)編寫項(xiàng)目的時(shí)刻,如果我們假設(shè)底層的代碼是正確無誤的,那么先是高層代碼中使用了底層代碼;然后這些高層代碼又被更高層的代碼所使用,如此往復(fù)。當(dāng)基本的底層代碼不再可靠時(shí),那么必需的改動無法只局限在底層。雖然你可以修正底層的問題,但是這些對底層代碼的修改必然會影響到高層代碼。于是,一個對底層代碼的修正,可能會導(dǎo)致對幾乎所有代碼的一連串改動,從而使修改越來越多,也越來越復(fù)雜。從而使整個項(xiàng)目也以失敗告終。

  而單元測試的核心內(nèi)涵:這個簡單有效的技術(shù)是為了令代碼變得更加完美。

  NUnit介紹

  NUnit 是一個免費(fèi)開源的產(chǎn)品,它提供了一套測試框架和一個測試運(yùn)行程序(test runner)。

  注意:test tunner 知道如何尋找具有 [TestFixture] 屬性的類和類中的 [Test] 方法。

  如何安裝 NUnit

  在官網(wǎng)下載NUnit,當(dāng)前新的版是2.4.8,我下的是NUnit-2.4.8-net-2.0.zip。

  NUnit第一個演示

  我們用Visual Studio 2008新建一個NUnit項(xiàng)目:

  為了便于演示,我們把默認(rèn)的Program.cs改成Calculator.cs,在Calculator類里,我們實(shí)現(xiàn)簡單的加減乘除四個方法。完整代碼如下:

using System;

namespace NUnitTest
{
    public class Calculator
    {
        /// <summary>
        /// 加法
        /// </summary>
        /// <param name="a"></param>
        /// <param name="b"></param>
        /// <returns></returns>
        public int Add(int a,int b)
        {
            return a + b;
        }

        /// <summary>
        /// 減法
        /// </summary>
        /// <param name="a"></param>
        /// <param name="b"></param>
        /// <returns></returns>
        public int Minus(int a, int b)
        {
            return a - b;
        }

        /// <summary>
        /// 乘法
        /// </summary>
        /// <param name="a"></param>
        /// <param name="b"></param>
        /// <returns></returns>
        public int Multiply(int a, int b)
        {
            return a * b;
        }

        /// <summary>
        /// 除法
        /// </summary>
        /// <param name="a"></param>
        /// <param name="b"></param>
        /// <returns></returns>
        public int Divide(int a, int b)
        {
            return a / b;
        }

        static void Main(string[] args)
        {
            Calculator cal = new Calculator();
            int result = cal.Add(2,3);
            Console.WriteLine(result);

            Console.ReadKey(true);
        }
    }
}

  如果沒有單元測試,我們普通的測試方法像是Main方法一樣,這樣的測試是一個很邪惡的測試方法,花時(shí)間且很難得到我們想要的結(jié)果。

上一頁1234下一頁
軟件測試工具 | 聯(lián)系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd