單元測試 NUnit

2021-04-21 07:30:59 字數 1527 閱讀 6749

本內容摘自:《單元測試之道c#版:使用nunit》

編寫目的:供日後參考學習,好記心不如爛筆頭。

基本語法

1、單元測試

斷言(assert)方法:

。areequals

assert.areequals(expected,actual[,string message]);

這是使用最多的斷言形式,expected:期望值

actual:被測試**實際產生的值。

message:是乙個可選的訊息,如果提供的話,將會在發生錯誤的時候報告這乙個訊息。

。isnull

assert.isnull(object,string message);

assert.isnotnull(object,string,message);

messages:是可選項。

。aresame

assert.aresame(expected,actual,string message)

驗證expected引數和actual引數所引用的是否為同乙個物件,相同返回true.

。istrue

assert.istrue(bool conditis,string message)

驗證給定的二元條件是否為真,如果為假的話,將會失敗。

。isfalse

assert.isfalse(bool condition,string message)

如果condition(條件)為假,則通過。

。fail

assert.fail(string message)

當執行這個斷言時,表示測試失敗,這種斷言通常被用於標記某個不應該被到達的分支 ,但它在實際中並不常用。

2、需要引用空間:using nunit.framework;

[testfixture]attribute標記,每個包含測試的類都必須加上,該類必須宣告為public,這樣測試的程式才可以找到它,建構函式不能帶引數。

測試方法需要加入[test]attribute標記的方法,這樣nunit工具就可以自動執行它。該方法需要標誌為public。

3、分類(category)attribute。

[category("類別名稱")]

如果在測試方法的前面加上分類屬性,在測試的時候,可以提供按選擇的分類執行。引數中的類別名稱,可以自定義。

屬性的設計有兩種方式

1、[test,category("類別")]

2、[test]

[category("類別")]

4、per-method的setup和teardown

[setup]

[teardown]

在每執行乙個測試方法的時候,如果有setup方法和teardown系統都會首先執行setup屬性的方法,再執行teardown屬性的方法。乙個測試類中不允許有兩個以上的setup和teardown。

5、[testfixturesetup]、[testfixtureteardown]用於針對類的執行順序。

6、[ignore("message")];忽略的測試方法。

單元測試NUnit

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

單元測試NUnit教程

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

單元測試之NUnit

綠色 描述執行的測試通過。黃色 執行的某些測試忽略,但沒有失敗。紅色 測試失敗。testfixture 放在類前,標識類為測試類。test 放在測試類的方法前,標識該方法為可測試的方法。1 該方法必須沒有引數。2 該方法為public型別。3 該方法沒有返回值。setup 每個測試方法執行前,執行該...