您的位置:軟件測試 > 開源軟件測試 > 開源單元測試工具 > Nunit
c#單元測試工具Nunit
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時間:[ 2014/2/17 11:20:18 ] 推薦標簽:Nunit 單元測試工具 c#

這兩天研究了兩天的Nunit,談一下我對Nunit的認識~

Nunit是C#的單元測試工具,現(xiàn)在用Nunit進行單元測試的。

目前使用Nunit的公司,很多是采用TDD開發(fā)模式的公司。所謂的TDD是“測試驅(qū)動開發(fā)”的敏捷開發(fā)模式。

舉個例子說明一下,什么叫做“測試驅(qū)動開發(fā)”模式:

使用NUnit在.Net編程中進行單元測試

我收集的,大家有興趣可以看看,不過實際的執(zhí)行圖片我發(fā)不上來,大家將一下咯
內(nèi)容:
摘要:
本文通過一個詳實的例子,詳細介紹了如何在C#中利用NUnit單元測試框架進行應(yīng)用程序類的單元測試工作。

--------------------------------------------------------------------------------

目錄:
引言
什么是單元測試
測試先行
測試異常
總結(jié)

--------------------------------------------------------------------------------

引言:
舉一個可能會發(fā)生在你身邊的事件將更能貼近實際,幸好我們現(xiàn)在有一件在程序員看來非常普通的任務(wù):
你第上班,你的項目經(jīng)理拿給你一疊不算厚的文檔,告訴你的任務(wù)是按照文檔中的要求編寫一個.Net類,可能因為任務(wù)并不復(fù)雜,所以他看上去非常的隨意。
能否很好的完成任務(wù)對你來說非常特殊,你拿過來后快速略過了前面大段的項目介紹,因為你知道那些對你并不重要,印象中好象是一個關(guān)于售票系統(tǒng)的工程。很快,你找了你需要關(guān)注的重點:類的需求說明文檔。你詳細的看了一遍,感覺并不復(fù)雜,類名Ticket,有一個只讀的int型公共的屬性,名稱是Amount,還有兩個方法,一個是名稱是Sell,功能是將Amount減去一,表示賣掉了一張票,當然,票可不能為負數(shù),如果是的話,拋出一個異常說明原因。另一個是Add,它有一個int型的參數(shù),功能是將這個參數(shù)的值加到Amount中去,可能是表示進票之類的事情吧,你不太關(guān)心,反正這個程序很簡單,你掩飾住內(nèi)心的狂喜,打開電腦,調(diào)出編輯器,開始準備寫程序了。
"喂,等等",項目經(jīng)理不知道什么時候又轉(zhuǎn)回來了,"我想知道你打算怎么進行單元測試,我關(guān)心的是這個"。
"什么是單元測試?"你轉(zhuǎn)過頭一臉沮喪的看著失望的項目經(jīng)理。

--------------------------------------------------------------------------------

什么是單元測試:
在程序設(shè)計過程中會有許多種測試,單元只是其中的一種,單元測試并不能保證程序是完美無缺的,但是在所有的測試中,單元測試是第一個環(huán)節(jié),也是重要的一個環(huán)節(jié)。單元測試是一種由程序員自行測試的工作。簡單點說,單元測試是測試代碼撰寫者依據(jù)其所設(shè)想的方式執(zhí)行是否產(chǎn)生了預(yù)期的結(jié)果。關(guān)于單元測試的重要性已經(jīng)有許多文章做了很多深入的分析,這里不再贅述。
NUnit是一個為Net準備的自動化單元測試框架,它的作用是幫助你方便的完成單元測試工作,同鼎鼎有名的JUnit一樣,都是xUnit家族的成員。它的下載地址是:http://www.nunit.org。

--------------------------------------------------------------------------------

測試先行:
"什么?先寫測試?"你一定非常驚訝,對!是先來編寫測試代碼,按照極限編程(XP)的理論,寫測試是對軟件進行設(shè)計的過程,它的重要性甚至超過了實際完成功能的代碼。先將測試寫完,然后再來完成代碼,這樣,所有的測試通過之日也是程序完成之時。
首先,我們將NUnit提供的要nunit.framework.dll文件引入到工程中,并創(chuàng)建一個名為TicketTest的類:
[TestFixture]
        public class TicketTest
        {
                [Test]
                public void Add()
                {
                        Ticket ticket = new Ticket();
                        ticket.Add(100);
                        Assertion.AssertEquals(100, ticket.Amount);
                }
        }

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