溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

NUnit單元測試

發布時間:2020-08-07 18:11:52 來源:網絡 閱讀:716 作者:guwei4037 欄目:編程語言

單元測試對程序員來說是非常重要的一門技術,但是在實際編程中卻往往被程序員所忽視。微軟的VS開發工具為我們提供了強大的單元測試環境,在VS當中可以直接對類庫項目進行測試,極大的方便了程序員的自我糾錯能力。除了官方的解決方案之外,還有一種非常好的免費開源的第三方測試工具,那就是NUnit。它是從Java中著名的JUnit單元測試框架移植過來,這個可以從官網中得到答案,http://www.nunit.org/。

在NUnit官網的下載頁面http://www.nunit.org/index.php?p=download,列出了其所有發布過的版本,當前最新的版本號為2.6.3。

NUnit單元測試

msi是安裝版的NUnit,而bin是文件版的,還有src是NUnit的源代碼以及doc是NUnit的幫助手冊。

建議專業用戶下載bin版本,即NUnit-2.6.3.zip。里面有綠色版的NUnit用戶界面程序,開發用的dll文件以及doc文檔手冊。

下載好zip包后,解壓到磁盤目錄下。

好,下面就正式演示使用NUnit進行單元測試。

便于簡單演示,我們用四則運算來模擬測試的過程。

首先在VS2012當中建立一個類庫項目,起名為NUnitTest,并建立一個四則運算類Calculator。

namespace NUnitTest
{
    public class Calculator
    {
        public static double Add(double a, double b)
        {
            return a + b;
        }
           
        public static double Sub(double a, double b)
        {
            return a - b;
        }
           
        public static double Mutiply(double a, double b)
        {
            return a * b;
        }
           
        public static double Divide(double a, double b)
        {
            return a / b;
        }
    }
}

就是一個簡單的加減乘除方法。

然后我們再建立一個單元測試類UnitTest,用于進行單元測試。

namespace NUnitTest
{
    [TestFixture]
    public class UnitTest
    {
        public double NumA { get; set; }
       
        public double NumB { get; set; }
       
        [SetUp]
        public void SetUp()
        {
            NumA = 10;
            NumB = 20;
        }
       
        [Test]
        public void TestAdd()
        {
            double result = Calculator.Add(NumA, NumB);
            Assert.AreEqual(result, 30);
        }
       
        [Test]
        public void TestSub()
        {
            double result = Calculator.Sub(NumA, NumB);
            Assert.LessOrEqual(result, 0);
        }
       
        [Test]
        public void TestMutiply()
        {
            double result = Calculator.Mutiply(NumA, NumB);
            Assert.GreaterOrEqual(result, 200);
        }
       
        [Test]
        public void TestDivide()
        {
            double result = Calculator.Divide(NumA, NumB);
            Assert.IsTrue(0.5 == result);
        }
    }
}

這里面在方法前都加了[Test]用于標記該方法為單元測試方法,需要添加引用nunit.framework.dll文件。這個文件可以在下載好的zip包中的NUnit-2.6.3\bin\framework目錄找到。而方法內部使用了Assert類的靜態方法對預期結果進行斷言。

下面就可以使用NUnit工具來進行測試了。我們將NUnitTest類庫項目右鍵屬性中的調試節點,設置啟動動作為啟動外部程序,然后設置路徑為下載zip包中的nunit.exe。如:C:\Users\guwei4037\Desktop\NUnit-2.6.3\bin\nunit.exe。

NUnit單元測試

運行類庫項目,這時候為我們啟動了NUnit的gui工具。我們按照下面的步驟進行操作。

1、選擇File——New Project,指定NUnit項目文件到指定目錄。

2、選擇Tools——IDE Support——Visual Studio,勾上選項,點擊OK。

NUnit單元測試

3、選擇Project——Add VS Project

在彈出的對話框中找到NUnitTest項目的csproj文件并打開。

NUnit單元測試

會看到已經把我們項目中需要測試的方法都加載到了NUnit的GUI中。

我們只需要點擊右側的“RUN”按鈕,運行測試即可。

如我們所愿,所有單元測試都通過了。

NUnit單元測試

這是通過運行外部程序(NUnit的GUI界面)來達到單元測試的效果的。

總感覺很麻煩,還要調用外部的應用程序,有沒有簡單點的最好能夠跟VS工具緊密結合的方式來進行NUnit單元測試呢?答案是肯定的。

我們在VS中選擇工具菜單欄下的擴展和更新,選擇聯機并在搜索框中輸入NUnit。

NUnit單元測試

找到NUnit Test Adapter,下載安裝即可。按照好之后關閉VS,重啟一下就好了。

我們打開類庫項目中的UnitTest類,在右鍵彈出的菜單中點擊運行測試。

NUnit單元測試

運行結束后,會在左側的測試資源管理器當中顯示本次操作的結果。

NUnit單元測試

是不是很方便???直接在VS當中集成了,不用去配置外部程序了。

相信通過上面的介紹,你已經學會如何在VS中集成NUnit進行單元測試了。

關于更多的NUnit的參考文檔,請訪問:http://www.nunit.org/index.php?p=docHome&r=2.6.3。


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女