NUnit單元測試使用例項

2021-04-13 09:56:02 字數 2464 閱讀 3004

1.新建.net專案-->類庫

2.新增引用  nunit.framework.dll

3.編寫測試用例(test case)

using

system;

using

system.collections.generic;

using

system.text;

using

nunit.framework;

namespace

nunittest

//test屬性用來標記乙個類(已經標記為testfixture)的某個方法是可以測試的.

[test]

[category(

"numbers")]

public

void

addtwonumbers()

[test]

[category(

"numbers")]

public

void

multiplytwonumbers()

//teardown 屬性

//清除

/** expectedexception 屬性

* 這裡是乙個驗證這個假設的測試.有的時候,我們知道某些操作會有異常出現.

* 例如, 在例項中增加除法,某個操作被0除,丟擲的異常和.net文件描述的一樣.參看以下源** 

*/[test]

[category(

"exception")]

[expectedexception(

typeof

(system.dividebyzeroexception))]

public

void

dividebyzero()

//ignore 屬性

//保持測試,但又不執行

[test]

[category(

"numbers")]

[ignore(

"multiplication is ignored")]

public

void

multiplytwonumbers2()

//testfixturesetup/testfixtureteardown 屬性

//正如他們名字表明的一樣,這些屬性用來標記為整個test fixture初始化/釋放資源方法一次的方法. 

//為所有test fixture的測試共享相同的資料庫連線物件,我們可以寫乙個開啟資料庫連線的方法,標記為testfixturesetup屬性

//編寫另外乙個關閉資料庫連線的方法,標記為testfixtureteardown屬性

//category 屬性

//對於測試來說,你有的時候需要將之分類,此屬性正好就是用來解決這個問題的。 

//你可以選擇你需要執行的測試類目錄,也可以選擇除了這些目錄之外的測試都可以執行。

//在命令列環境裡 /include 和/exclude來實現。在gui環境下,就更簡單了,選擇左邊工作域裡的catagories tab,選擇add和remove既可以了。

//explicit屬性 

//本屬性忽略乙個test和test fixture,直到它們顯式的選擇執行。如果test和test fixture在執行的過程中被發現,就忽略他們。

//所以,這樣一來進度條顯示為黃色,因為有test或test fixture忽略了。

//原因是ingore屬性忽略了某個test或test fixture,那麼他們你再想呼叫執行是不可能的。那麼萬一有一天我想呼叫被忽略的test或test fixture怎麼辦,就用explicit屬性了。我想這就是其中的原因吧。

[test, explicit]

[category(

"exception")]

[expectedexception(

typeof

(dividebyzeroexception))]

public

void

dividebyzero2()

//expected exception屬性 

//期望在執行時丟擲乙個期望的異常,如果是,則測試通過,否則不通過。

//在本測試中,應該丟擲dividebyzeroexception,但是期望的是invalidoperationexception,所以不能通過。

//如果我們將[expectedexception(typeof(invalidoperationexception))]改為[expectedexception(typeof(dividebyzeroexception))],本測試通過。

[test]

[category(

"exception")]

[expectedexception(

typeof

(dividebyzeroexception))]

public

void

expectanexception()

}   }

單元測試 NUnit

本內容摘自 單元測試之道c 版 使用nunit 編寫目的 供日後參考學習,好記心不如爛筆頭。基本語法 1 單元測試 斷言 assert 方法 areequals assert.areequals expected,actual string message 這是使用最多的斷言形式,expected ...

單元測試NUnit

在vs中新建的專案中加入nunit.framework的引用。或許我們可以這麼做測試,但顯然不專業。我們新建乙個類叫calculatortest,雖然名字可以隨意起,但是最好這麼叫,比較明顯。注意,這裡的測試方法必須是public void,且沒有引數的,方法名字可以隨意取。而且注意這裡判斷採用的a...

單元測試NUnit教程

測試 必須做以下幾件事情 準備測試所需的條件 呼叫要測試的方法 驗證被測方法的行為和期望的行為是否一致 完成後清理各種資源 為了使用nunit框架,需要做這些工作 1.使用using宣告引用必要的nunit類 並新增乙個指向nunitdll的引用 2.定義乙個測試類,必須是public的 包換乙個p...