單元測試工具NUnit的使用

2021-06-23 05:27:19 字數 2849 閱讀 2459

使用 nunit 工具來進行單元測試

首先在要建立乙個單元測試的專案,通常在原有的解決方案中新增新專案, 在彈出的專案型別中選擇單元測試,專案的命名一般情況下與解決方案的名稱相同後加unittest

然後在專案中新增乙個單元測試的類, 類的名稱與要測試的類的名字相同,也是字尾加unittest, 在單元測試專案中新增引用   nunit.framework.dll, 而後在單元測試的類的頭部新增引用  using nunit.framework;

在測試類的上部新增特性  [testfixture] 表示: 要對這個類進行測試

然後建立乙個測試方法, 測試方法的名字命名與測試類的命名相同, 就是在要測試的方法名字尾test,在測試的方法上面要新增特性[test] 表示的是: 這是個測試的方法,如果沒有什麼語法錯誤,對單元測試專案進行重新編譯。

using system;

using system.text;

using system.collections.generic;

using system.linq;

using demon;

using nunit.framework;

namespace demonunittest

[test]

public void getresulttest()}}

開啟 nunit, 選擇file --> open project  找到剛才單元測試專案中生成的 dll 檔案, 選擇確定。這樣在 nunit 中就能看到裡面的測試方法,對每乙個測試方法進行執行,如果出現綠色,那麼恭喜你,測試通過,如果出現紅色的警告,則表示方法沒有通過測試,可以根據測試的結果反饋資訊來對編寫的方法進行修改,直到能達到預期效果,也就是通過單元測試。

還有一種方法就是在專案中直接使用vs 自帶的單元測試功能

一般在建立專案時,就會提示是否要新增單元測試專案, 預設的情況下,會建立乙個與解決方案同名的字尾test的單元測試專案。這種情況下,通過新增單元測試模板來新增單元測試類,與 nunit不同的是, 要引用vs 自帶的單元測試框架

using microsoft.visualstudio.testtools.unittesting;

在單元測試的類上新增特性     [testclass] 表示的是這是乙個測試類

在測試的方法上新增特性     [testmethod] 表示的是這是乙個測試方法

測試方法的編寫與 nunit 方法相同,但是通過打斷點,除錯的方式來進行測試的

using system;

using system.text;

using system.collections.generic;

using system.linq;

using microsoft.visualstudio.testtools.unittesting;

namespace demonunittest

private testcontext testcontextinstance;

/// ///獲取或設定測試上下文,該上下文提供

///有關當前測試執行及其功能的資訊。

///public testcontext testcontext

set}

#region 附加測試特性

//// 編寫測試時,可以使用以下附加特性:

//// 在執行類中的第乙個測試之前使用 classinitialize 執行**

// [classinitialize()]

// public static void myclassinitialize(testcontext testcontext)

//// 在類中的所有測試都已執行之後使用 classcleanup 執行**

// [classcleanup()]

// public static void myclasscleanup()

//// 在執行每個測試之前,使用 testinitialize 來執行**

// [testinitialize()]

// public void mytestinitialize()

//// 在每個測試執行完之後,使用 testcleanup 來執行**

// [testcleanup()]

// public void mytestcleanup()

//#endregion

[testmethod]

public void testmethod1()

demon.calculate mycal = new demon.calculate();

[testmethod]

public void getsumtest()}}

總之不能為了通過單元測試而進行測試,或修改測試方案,這樣即使通過了單元測試,但隱藏了方法的錯誤演算法設計或邏輯處理,當在待定或著實際的場境下,問題還是會暴露的,所以應該嚴格對待單元測試,不能為了單元測試而測試。

開源單元測試工具 Nunit

開始 當你安裝之後,會有兩種不同的方式來執行你的的測試。控制台執行nunit console.exe,執行最快,但是不利於互動 圖形執行nunit.exe,乙個win form的應用程式,提供乙個圖形介面,讓你更直觀的控制你的測試執行。安裝完之後,那就在你現在專案中建乙個測試的專案吧,與vs整合的測...

單元測試 NUnit

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

單元測試NUnit

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