亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

使用Visual Studio 2013進行單元測試--初級篇

2019-11-17 02:44:17
字體:
來源:轉載
供稿:網友

使用Visual Studio 2013進行單元測試--初級篇

1.打開VS2013 --> 新建一個項目。這里我們默認創建一個控制臺項目。取名為UnitTestDemo

2.在解決方案里面新增一個單元測試項目。取名為UnitTestDemoTest

創建完畢后項目結構大概如下:

3.進入控制臺項目UnitTestDemo的PRogram類,創建一個Add方法。

namespace UnitTestDemo{    class Program    {        static void Main(string[] args)        {        }        public static int Add(int num1, int num2)        {            return num1 + num2;        }    }}

4.我們的目的就是測試上面的Add方法運行是否正常,返回結果是否正確。

5.在單元測試項目中引用控制臺項目,引用完畢后項目結構如下:

6.單元測試項目里面UnitTest1這個類的名字取得太難看了,我們把名字改為ProgramTest,表明這是在測試Program類。改完如下:

using System;using Microsoft.VisualStudio.TestTools.UnitTesting;namespace UnitTestDemoTest{    [TestClass]    public class ProgramTest    {        [TestMethod]        public void TestMethod1()        {        }    }}

7.上面就是VS為ProgramTest類默認生成的方法。可以看到ProgramTest具有一個【TestClass】特性,表明這是一個測試類。TestMethod1具有一個【TestMethod】特性,表明這是一個測試方法。

8.可以這樣理解,一個方法必須具有【TestMethod】特性,且其所屬的類具有【TestClass】特性,那么這個方法才會被VS承認為一個【單元測試方法】。

如果沒有上面的兩個特性中的一個,編譯生成是沒有任何問題的。但是VS不會把其作為一個【單元測試方法】。

9.“VS不把一個方法作為【單元測試方法】”是什么意思呢?

依次點擊VS的菜單欄【測試】--> 【窗口】-->【測試資源管理器】,可以打開測試資源管理器。

10.測試資源管理器里面會顯示當前解決方案里面的所有單元測試。說明白點就是這里只顯示符合【第8點】要求的方法。

你可能會說,為什么上面的圖里面什么都沒顯示,【TestMethod】特性和TestClass】特性現在不是都有嗎?

原因是你還沒有生成程序集。OK,按F6.就可以看到【測試資源管理器】中顯示了【TestMethod1】:

11.我們要清楚我們創建單元測試的初衷:是用工具幫助我們測試軟件的質量、穩定性、性能等等。【VS】在這里就充當了工具的作用。

12.回到命名的問題,很明顯TestMethod這個名字太難看了,我們把它改成AddTest表示這是在測試Add方法。

using System;using Microsoft.VisualStudio.TestTools.UnitTesting;namespace UnitTestDemoTest{    [TestClass]    public class ProgramTest    {        [TestMethod]        public void AddTest()        {        }    }}

13.截止目前,我們已經建立了一個可以執行的測試框架,雖然沒有起到什么作用,但是測試已經可以執行了。

執行測試的方法之一是:右鍵點擊需要測試的【單元測試】方法的名稱,選擇運行:

運行測試之后,可以在測試資源管理器中查看測試的結果:

執行單元測試的方法有很多,這些需要我們在不斷的學習中去體會。

14.接下來我們做一點有意義的事情。改進AddTest方法:

using System;using Microsoft.VisualStudio.TestTools.UnitTesting;namespace UnitTestDemoTest{    [TestClass]    public class ProgramTest    {        [TestMethod]        public void AddTest()        {            int num1 = 100;            int num2 = 200;            Assert.AreEqual(Program.Add(num1, num2), 300);        }    }}

在這之前,請把Program類的可見性改為internal或者Public。

?15.“Assert”之前沒接觸過單元測試的朋友,或者英語差點的可能不認識。上谷歌翻譯

清楚的看到,“Assert”的意思是“斷言”。所以“Assert.AreEqual(Program.Add(num1, num2), 300);”這句話的意思就是:我斷言“Program.Add(num1, num2)”的結果就是300。

而斷言的正確與否只需要通過測試工具測試即可。如果測試通過說明此斷言是正確的,反之就說明這個測試失敗了。

斷言有很多種,包括上面普通的Assert,還有字符串斷言,集合斷言等等。

16.ok,運行測試可以看到測試通過。

17.如果上面所說的你都明白,那么到這里為止,你可以自己編寫簡單的單元測試代碼并執行測試了。

最后還有一個要說的就是,如果你覺得手動編寫單元測試類和方法太麻煩,那么可以使用“Unit Test Generator”插件幫助你生成單元測試和方法。

這樣你可以把重心偏到編寫測試邏輯上。

“Unit Test Generator”可以通過VS菜單欄【工具】-->【擴展和更新】-->搜索““Unit Test Generator””取得。

18.安裝“Unit Test Generator”需要重啟VS。

在需要進行單元測試的類和方法上點擊右鍵,如圖操作(圖中演示的是生成單元測試方法)

點擊之后會彈出一個對話框,需要你配置一個名稱的規則,配置好后點擊ok即可生成測試方法。

19.最后希望大家養成隨時測試代碼的好習慣。

轉載聲明:歡迎轉載,但請保留原文鏈接。

友情鏈接:http://www.zhoumy.cn


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
高清一区二区三区日本久| 亚洲人成在线观看网站高清| 亚洲综合色激情五月| 97免费视频在线| 精品爽片免费看久久| 国产精品白丝jk喷水视频一区| 亚洲欧洲在线观看| 日韩av影片在线观看| 国产精品视频精品视频| 精品亚洲aⅴ在线观看| 亚洲精品久久视频| 91午夜理伦私人影院| 欧美综合第一页| 欧美一区二区三区免费观看| 亚洲视频777| 亚洲国产一区二区三区在线观看| 亚洲成人免费在线视频| 国产成+人+综合+亚洲欧洲| www.美女亚洲精品| 亚洲国产精品字幕| 久久人人97超碰精品888| 亚洲精品国产精品国自产在线| 伊是香蕉大人久久| 日韩视频中文字幕| 欧美成人第一页| 少妇久久久久久| 少妇av一区二区三区| 日韩在线www| 黄色成人av在线| 91精品在线观看视频| xxxxx成人.com| 午夜精品www| 91爱视频在线| 国内精品小视频在线观看| 亚洲欧美精品在线| 亚洲人成绝费网站色www| 亚洲欧美激情精品一区二区| 欧美色视频日本版| 国内精品中文字幕| 亚洲精品一区在线观看香蕉| 亚洲精品影视在线观看| 国产午夜精品理论片a级探花| 国外成人免费在线播放| 96精品久久久久中文字幕| 中文字幕亚洲欧美日韩高清| 久久久伊人欧美| 亚洲国产成人精品久久| 亚洲人成网站777色婷婷| 亚洲精品网站在线播放gif| 亚洲无亚洲人成网站77777| 久久伊人精品视频| 欧美一级片免费在线| 欧美日韩亚洲91| 亚洲视频欧洲视频| 国产女同一区二区| 成人精品一区二区三区电影免费| 亚洲精品大尺度| 欧美贵妇videos办公室| 久久亚洲国产精品| 欧美电影第一页| 精品电影在线观看| 国产精品91免费在线| 亚洲国产精品va在线看黑人| 欧美自拍视频在线| 日韩成人激情视频| 亚洲91av视频| 亚洲精品一区二区久| 亚洲精品久久久久久久久久久| 精品国内自产拍在线观看| 亲子乱一区二区三区电影| 国产精品99一区| 欧美日韩在线一区| 成人激情视频在线播放| 国产日韩欧美日韩大片| 久久成人精品一区二区三区| 亚洲欧洲一区二区三区在线观看| 日本成熟性欧美| 久久久久免费精品国产| 中文字幕亚洲欧美日韩2019| 欧美日韩国产成人| 精品国产精品自拍| 欧美视频裸体精品| 亚洲一区二区少妇| 欧美性猛交xxxx免费看| 国产精品一区久久| 色狠狠av一区二区三区香蕉蜜桃| 欧美视频中文字幕在线| 久久男人av资源网站| 一区二区三区www| 97超级碰碰人国产在线观看| 国产精品美女www爽爽爽视频| 奇门遁甲1982国语版免费观看高清| 在线播放日韩欧美| 成人国产精品久久久| 久久久成人av| 黄色成人av在线| 在线播放日韩av| 欧美日韩成人黄色| 97久久精品人搡人人玩| 欧美精品激情视频| 91精品国产亚洲| 国产精品美女在线观看| 最近2019中文免费高清视频观看www99| 久久91精品国产91久久久| 色综合天天综合网国产成人网| 日韩欧美国产视频| 亚洲精品第一国产综合精品| 亚洲最大在线视频| 欧美激情一区二区三区在线视频观看| 亚洲午夜久久久影院| 日韩人体视频一二区| 日韩精品中文字幕久久臀| 成人福利视频网| 成人免费视频a| 亚洲人成欧美中文字幕| 国产精品一二区| 欧美激情欧美激情在线五月| 全球成人中文在线| 欧美一级高清免费| 国产精品免费福利| 欧美日韩国产第一页| 中文字幕亚洲字幕| 国内精品在线一区| 亚洲国产另类久久精品| 国产精品久久久久久搜索| 亚洲国产精品人久久电影| 亚洲高清不卡av| 国产欧美最新羞羞视频在线观看| 夜夜嗨av一区二区三区免费区| 欧美性猛交xxxx富婆| 日韩欧美中文字幕在线观看| 欧美猛交免费看| 最好看的2019的中文字幕视频| 国产精品中文字幕久久久| 亚洲欧美中文日韩在线v日本| 日韩精品在线视频美女| 欧美黑人xxxx| 欧美日韩国产精品一区二区不卡中文| 中文日韩电影网站| 57pao成人永久免费视频| 国产精品热视频| 日韩视频中文字幕| 欧美成人合集magnet| 一区二区亚洲欧洲国产日韩| 国产精自产拍久久久久久| 青青在线视频一区二区三区| 高清欧美性猛交xxxx黑人猛交| 亚洲高清av在线| 亚洲欧美综合另类中字| 高清一区二区三区日本久| 日韩在线视频免费观看| 欧美在线视频观看免费网站| 日韩国产欧美精品一区二区三区| 欧美极品少妇xxxxⅹ喷水| 高清欧美性猛交| 中文字幕在线视频日韩| 91精品在线影院| 久久男人的天堂| 午夜精品www| 欧美在线性爱视频| 欧美日韩免费网站| 91免费看片在线| 亚洲国产精彩中文乱码av| 日韩最新中文字幕电影免费看|