標籤:style http io os ar 使用 strong sp 檔案
簡單來說,單元測試就是局部測試,即是對項目中的某個靜態類測試、靜態方法測試、類的執行個體化測試以及類的方法測試。當你有一個具體的項目時你可以通過運行查看結果的方式進行測試,但當你只有一個類而沒有完整的項目時便會很麻煩,單元測試則可以解決這種問題。單元測試有兩種方法,一個是NUnit,另一個是微軟在VS提供的單元測試,這個會相對複雜但更全面,我是在網上結合多個資料學習和總結的,會比較基礎,希望對看到的你有些許協助,這裡用兩種方法對簡單的例子進行測試。
一、使用Nunit進行單元測試
1、下載Nunit,地址為:http://www.nunit.org/index.php?p=download
2、下載Visual Nunit 2010,地址為:http://visualstudiogallery.msdn.microsoft.com/c8164c71-0836-4471-80ce-633383031099
3、建立項目並測試
1.VS2010中建立一個項目,由於我們只需要對稍後建立的類進行測試,與創什麼項目無關,所以你可以建立表單應用程式或Web應用程式的項目等,這裡我創的是控制台應用程式,為了方便查看,我把項目名稱取為:使用Nunit進行單元測試
2.在方案總管中的引用上右鍵,選擇添加引用,找到並添加步驟1中下載的Nunit中的nunit.framework.dll檔案(預設安裝時路徑為:C:\Program Files \NUnit 2.6\bin\framework\nunit.framewor.dll)。
3.編寫一個普通的類,後面我們將會對該類進行測試。右鍵方案總管中的項目名稱->添加->類,將類名改為SimpleClass,代碼如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace 使用Nunit進行單元測試
{
public class SimpleClass
{
/// <summary>
/// 除法運算
/// </summary>
public int Division(int num1,int num2)
{
return num1 / num2;
}
}
}
4.普通類編寫好後,我們現在再建立一個測試類別。右鍵方案總管中的項目名稱->添加->類,將類名改為TestClass,代碼如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using NUnit.Framework;//添加命名空間
namespace 使用Nunit進行單元測試
{
[TestFixture]//代表用於測試的類
public class TestClass
{
/// <summary>
/// 類比用正常資料進行測試
/// </summary>
[Test]//代表測試案例
public void DivisionTestNatural()
{
var simpleClass = new SimpleClass();
var result = simpleClass.Division(10, 5);//調用SimpleClass類中的除法運算,用10除以5
Assert.AreEqual(2, result);//設定測試的期望值為2,實際值為result,若實際值不等於期望值時即測試出錯
}
/// <summary>
/// 類比用異常資料進行測試
/// </summary>
[Test]
public void DivisionTestNoNatural()
{
var simpleClass = new SimpleClass();
var result = simpleClass.Division(10, 5);
Assert.AreEqual(3, result);
}
}
}
5.快速鍵Ctrl+F5運行項目(網上的資料寫的是產生項目,但這麼做的話如果你測試過一個類之後又建立了一個類要進行測試,你會發現找在Visual Nunit中找不到你新建立的類,如果這裡你看不懂,不過做完項目後你就會明白)。選擇視圖->其他視窗->Visual Nunit(我尋找資料時別人的資料說Ctrl+F7是快速鍵,不過我試了沒效。如果在其他視窗中找不到Visual Nunit則將VS關閉後重新開啟),在Project、Namespace、Fixture中選擇對應項(當你在前文中像我所說的建立第二個測試類別之後只是產生項目而沒有使用Ctrl+F5運行項目,你會發現你在Fixture中找不到你新建立的測試類別),最後點擊Run按鈕。
二、使用vs進行單元測試
待寫。。。
C#單元測試