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

  單元測(cè)試基礎(chǔ)知識(shí)

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

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

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

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

  NUnit介紹

  NUnit 是一個(gè)免費(fèi)開(kāi)源的產(chǎn)品,它提供了一套測(cè)試框架和一個(gè)測(cè)試運(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第一個(gè)演示

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

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

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);
        }
    }
}

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

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