中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

使用VisualStudio進行單元測試

發布時間:2020-06-29 10:48:24 來源:網絡 閱讀:1054 作者:bigman_ren 欄目:編程語言
   使用VisualStudio中的單元測試功能,可以很方便的創建單元測試項目、編寫單元測試代碼以及執行單元測試。而如何在VisualStudio中使用單元測試功能,就是本文和后面幾篇想要說的了。

   1.創建測試項目
   在創建測試項目之前,我們還需要有一份待測試的代碼,下面的是我準備的一小段代碼。

namespace BigMan.UnitTest
{
    public class Program
    {
        public static int Add(int a, int b)
        {
            return a + b;
        }
        public static int Div(int a, int b)
        {
            return a / b;
        }
        static void Main(string[] args)
        {
        }
    }
}

   創建測試項目有兩種方法,一種是在代碼窗口中右鍵點擊鼠標,選擇【創建單元測試】。

使用VisualStudio進行單元測試

   點擊之后,會彈出下面的【創建單元測試】的對話框,選中要進行單元測試的方法,再選擇對應的輸出項目,如果解決方案中已經存在測試項目,則在【輸出項目】的下拉框里會默認選中這個項目,沒有則需要選擇新建測試項目。點擊【確定】就可以完成測試項目的創建了。

使用VisualStudio進行單元測試


   需要說明的是,在Visual tudio 2010中,代碼窗口的右鍵菜單里是默認有【創建單元測試】這項的,但在Visual Studio 2012里卻消失了,需要大家手動把它調出來,具體方法可以參考http://www.jb51.net/softjc/83751.html

   還有一種方法是在解決方案資源管理器里,通過右鍵新增測試項目 ,和新增其他項目是一樣的,最后選擇項目的時候選擇單元測試項目就可以了。只是這樣建好項目后,針對各個方法的測試代碼就全都需要手動去寫了,當然也可以按照上面的方法去讓Visual Studio自動生成,只要在【創建單元測試】的窗口中選擇剛剛新建的測試項目作為【輸出項目】就行了。

   2.維護測試代碼


using BigMan.UnitTest;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using System;
namespace UnitTestProject1
{
                                                                                                                                                                                                                                                                                                         
                                                                                                                                                                                                                                                                                                         
    /// <summary>
    ///這是 ProgramTest 的測試類,旨在
    ///包含所有 ProgramTest 單元測試
    ///</summary>
    [TestClass()]
    public class ProgramTest
    {
        private TestContext testContextInstance;
        /// <summary>
        ///獲取或設置測試上下文,上下文提供
        ///有關當前測試運行及其功能的信息。
        ///</summary>
        public TestContext TestContext
        {
            get
            {
                return testContextInstance;
            }
            set
            {
                testContextInstance = value;
            }
        }
        #region 附加測試特性
        #endregion
        /// <summary>
        ///Div 的測試
        ///</summary>
        [TestMethod()]
        public void DivTest()
        {
            int a = 1; // TODO: 初始化為適當的值
            int b = 1; // TODO: 初始化為適當的值
            int expected = 1; // TODO: 初始化為適當的值
            int actual;
            actual = Program.Div(a, b);
            Assert.AreEqual(expected, actual);
            //Assert.Inconclusive("驗證此測試方法的正確性。");
        }
        /// <summary>
        ///Add 的測試
        ///</summary>
        [TestMethod()]
        public void AddTest()
        {
            int a = 1; // TODO: 初始化為適當的值
            int b = 1; // TODO: 初始化為適當的值
            int expected = 2; // TODO: 初始化為適當的值
            int actual;
            actual = Program.Add(a, b);
            Assert.AreEqual(expected, actual);
            //Assert.Inconclusive("驗證此測試方法的正確性。");
        }
    }
}

   簡單介紹一下測試代碼,首先是使用了TestClass特性來標識這個類中包含測試方法。然后是TestContext屬性,這個屬性用于在測試中提供上下文信息,實際使用過程中會有多種用途,在后面我會在用到時在詳細介紹,本文的測試過程中并沒有用到這個屬性。【附加測試特性】中的代碼因為暫時用不到而且會顯得代碼太過冗長,所以被我刪掉了,里面的內容我們也會在后面陸續的接觸到。最下面的兩個方法則是針對我們代碼中的Add()和Div()產生的兩個測試方法。與測試類一樣,測試方法也有個特性來標識--【TestMethod()】。

   以方法AddTest()為例,來看一下測試方法的基本結構。第一步,對a, b, expected聲明并進行了初始化,它們分別對應了Add(int,int)方法的兩個參數以及期望的返回值;聲明actual,并調用Add方法將實際結果賦值給它。經過這兩步,數據就準備完成了,最后是對測試結果進行判斷,稱之為(Assert)斷言。本例中使用了Assert.AreEqual(),初次之外,Assert還有一系列的斷言方法,如AreNotEqual,IsNull,IsNotNull,IsInstanceOfType等等,不在此一一列舉了,大家可以在Visual Studio中通過代碼的智能提示學習一下,或者干脆看一下MSDN的文檔。最后一行的Assert.Inconclusive("驗證此測試方法的正確性。");可以注釋掉,否則會在運行測試時會跳過這個測試方法,并提示 "驗證此測試方法的正確性"。我們修改一下測試方法中的參數a和b,以及期望結果的值,然后運行測試方法。

3.運行測試并查看測試結果

   運行測試的方法也有多種,既可以通過代碼窗口中鼠標右鍵的菜單中選擇【運行測試】,也可以通過菜單欄中的【測試】-【運行】-【所有測試】來運行測試,Visual Studio 2010 中還可以直接點擊工具欄上的按鈕來執行,但是在Viual Studio 2012中默認好像也消失了,應該還是需要手動來設置。

使用VisualStudio進行單元測試

   最后測試的結果會如圖所示,顯示的信息包括執行的測試,運行時間,未通過的測試還會給出相應的失敗信息,以供跟蹤解決問題。修改代碼,保存后再點擊全部運行,或者選擇只運行失敗的測試,來測試修改的結果,直到測試全部通過。


   到此為止,一個最基本的,而且不夠完善的單元測試就算完成了,下一篇將繼續來完善對這兩個方法的測試。


向AI問一下細節

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

AI

新建县| 陵川县| 蒙山县| 抚松县| 宜宾市| 汝州市| 八宿县| 台北县| 七台河市| 石城县| 合山市| 扬州市| 林甸县| 山东| 柳州市| 卢龙县| 南乐县| 正阳县| 曲麻莱县| 光泽县| 砚山县| 河津市| 英德市| 涿鹿县| 丁青县| 黔西| 锡林郭勒盟| 西华县| 赫章县| 嘉黎县| 彰化市| 太仆寺旗| 万荣县| 凉城县| 莫力| 武功县| 荥阳市| 综艺| 荔波县| 万盛区| 安泽县|