99偷拍视频精品区一区二,口述久久久久久久久久久久,国产精品夫妇激情啪发布,成人永久免费网站在线观看,国产精品高清免费在线,青青草在线观看视频观看,久久久久久国产一区,天天婷婷久久18禁,日韩动漫av在线播放直播

使用VisualStudio進(jìn)行單元測試

   使用VisualStudio中的單元測試功能,可以很方便的創(chuàng)建單元測試項(xiàng)目、編寫單元測試代碼以及執(zhí)行單元測試。而如何在VisualStudio中使用單元測試功能,就是本文和后面幾篇想要說的了。

   1.創(chuàng)建測試項(xiàng)目
   在創(chuàng)建測試項(xiàng)目之前,我們還需要有一份待測試的代碼,下面的是我準(zhǔn)備的一小段代碼。

十多年的通海網(wǎng)站建設(shè)經(jīng)驗(yàn),針對設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。網(wǎng)絡(luò)營銷推廣的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整通海建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)建站從事“通海網(wǎng)站設(shè)計(jì)”,“通海網(wǎng)站推廣”以來,每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。

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)
        {
        }
    }
}

   創(chuàng)建測試項(xiàng)目有兩種方法,一種是在代碼窗口中右鍵點(diǎn)擊鼠標(biāo),選擇【創(chuàng)建單元測試】。

使用VisualStudio進(jìn)行單元測試

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

使用VisualStudio進(jìn)行單元測試

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

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

   2.維護(hù)測試代碼

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

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

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

3.運(yùn)行測試并查看測試結(jié)果

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

使用VisualStudio進(jìn)行單元測試

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

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


新聞標(biāo)題:使用VisualStudio進(jìn)行單元測試
文章URL:http://www.yijiale78.com/article16/pehjgg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動網(wǎng)站建設(shè)網(wǎng)站制作微信小程序關(guān)鍵詞優(yōu)化網(wǎng)站內(nèi)鏈

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司