精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

VSTS2005單元測試功能的全自動化

開發 后端 自動化
本文對VSTS2005的單元測試進行了介紹,并提供了實施步驟。VS2005的單元測試真正實現了全自動化單元測試,大大提高了實際開發效率。

Team版的VS2005里面包含了完整的Test功能,具體有:Unit Test,WebTest和LoadTest.這一整套的測試基本涵蓋了軟件開發會使用到的測試功能.

VSTS2005單元測試介紹

我這里先從單元測試開始介紹(Unit Test).說起單元測試,很多使用.net進行開發的人員也許馬上就想起了NUnit,實際上它是個很好的工具,在VS2005出來之前,我也一直使用.不過現在VS2005已經提供了與NUnit一樣,甚至還要強大的功能,我們又有什么理由不使用呢?

OK,進入正題.首先我們要解決一個問題,為什么我們需要做單元測試?這個問題,對有經驗的老程序員來說,并不算是問題.一個軟件在開發的過程中,倘若不是非常微型的軟件,那么我們通常會劃分出若干個功能模塊來,然后一個模塊一個模塊的進行開發.每個子模塊完成后,我們并不知道它是否能正常的運行,尤其是當這個模塊只是個中間件類似的代碼塊,那么我們為了減少之后可能出現的問題和debug的難度(可以想象,如果在整合時期進行測試或者是甚至還有其他的模塊需要依賴該模塊才能進行開發的時候,盡早的測試將會是非常的重要),我們常常會對這單個模塊進行測試,比如寫段小程序,人為的寫入幾個參數來調用組件等.不用懷疑了,這就是單元測試.我相信,大部分的程序員都做過這樣的工作,而且也許還有許多程序員就如我上面所說的,單獨寫段小程序來進行單元測試(我自己以前也是如此),現在我們需要認真考慮下下一個問題了:如何進行高效的,高可靠的,甚至自動化的單元測試?

VSTS里的Unit Test可以幫助我們實現我們希望的絕大多數功能.我們從實際的項目開發入手來介紹.假設我們新建了一個.net項目,嗯,這是一個有關緩存的子項目,名字叫MyCache.我們很認真的設計了項目的架鉤,進行了可行性分析,接口和抽象的建立,具體對象的建立,關系建立,最后編碼完成了.項目經理叫我們不要高興的太早,他要求我們必須對這個項目進行可靠的單元測試,因為這個子項目非常重要,將會被許多項目引用.盡管我們很有信心,但是沒有辦法,我們依然需要進行單元測試.我們使用了Visual Studio Team System開發了這個項目,于是我們理所當然的使用自帶的Unit Test工具進行單元測試.

VSTS2005單元測試實現步驟

Step1.我們需要建立項目文件與測試文件的映射關系.
難道要我們去手動創建嗎?這可是整個項目啊,里面也許包含了幾十個類,數百個方法…當然沒那么復雜!實際上,我們需要做的工作很少,只是動動鼠標,等幾秒就可以了:)
在VS2005的IDE環境下,選擇menu里的Test,繼續選New Test項,這時將跳出個窗體,里面可以選擇測試項目類型,這里我們選擇Unit Test Wizard,確定,輸入測試項目名,然后將又出現一個窗體,里面包含你當前的solution里的所有project,我們選上我們的MyCache, 確定.OK,看見一個進度條,這是在執行測試代碼的映射工作,等結束后,你就會發現,已經建立了一個測試項目了,里面的文件完全對應你的目標項目,每個類包含的方法也是與目標類的方法一一對應,非常簡單,cool,mission complete!

Step2.運行我們的測試項目.
接下來,我們怎么進行測試呢?里面有許多的類和方法,很多方法上還帶有像TestMethod這樣的標簽屬性,但是我們關心的是,如何進行測試?絕對不是通常的F5來運行:(,在VSTS里,單元測試實際上有專門的管理工具.再次選到menu上的Test選項,移到windows上展開自菜單,里面有好幾個選項,我們選擇TestManager打開.在IDE窗口內出現了一個視圖結構的東西,在分割線的右邊是一個listView,里面全是當前測試項目包含的方法,我們隨便選幾個方法給勾上,右鍵,Run Checked Test,下邊馬上有出現了Test Result窗體,里面就是剛才你選擇的方法.如果不出意外的話,你的這個窗體內的方法result應該都是failed之類的數據,嗯,先不管這個,最起碼,我們已經運行了一次測試項目了,雖然有些奇怪,不過我們已經知道了如何運行一個測試項目了,那么再進入下一個step吧:)

Step3.看看我們的測試代碼里都有些什么.
雖然知道了怎么運行測試項目,但莫名其妙的全部出錯,是怎么回事呢?我們進入測試項目具體的代碼來看看.
我們會發現,每個測試類的名稱就是對應的目標類的名稱+"test",里面的方法也是如此,如果是構造函數,則是諸如
ConstructorTest或ConstructorTestN這樣的形式,N為重載次數.每個方法里面的代碼看上去也不奇怪,只是構造參數來調用而已,最后通過斷言來判斷(用過NUnit的朋友不會陌生吧?).我們試著直接把一個方法里的斷言去掉看看,編譯,TestManager,run,嘿,果然,去掉斷言的方法就pass了!看來蒙老大不難呢,只要把所有的方法的斷言都給去掉,然后給老大看測試后的結果,呵呵…

Step4.深入的了解一下方法上帶有的屬性的含義.
每個方法上幾乎都帶有TestMethod這個屬性,我們直覺告訴我們,這肯定是表示被測試函數的意思.事實也正是如此,在Unit Test里,有許多測試屬性,常用的如下:

屬性 描述

TestClass()

該屬性表示一個測試裝置。

TestMethod()

該屬性表示一個測試用例。

AssemblyInitialize()

在執行為執行選擇的第一個 TestClass() 中的第一個 TestMethod() 之前,執行帶有該屬性的方法。

ClassInitialize()

帶有該屬性的方法在執行第一個測試之前調用。

TestInitialize()

帶有該屬性的方法在執行每個 TestMethod() 之前調用。

TestCleanup()

帶有該屬性的方法在執行每個 TestMethod() 之后調用。

ClassCleanup()

帶有該屬性的方法在執行 ALL 測試之后調用。

AssemblyCleanup()

在執行為執行選擇的第一個 TestClass() 中的第一個 TestMethod() 之后,執行帶有該屬性的方法。

Description()

提供關于給定 TestMethod() 的描述。

Ignore()

由于某種原因忽略 TestMethod()TestClass()。

ExpectedException()

當測試特定異常時,如果使用該屬性指定的異常不是從實現代碼引發,則測試不會失敗。


需要注意的是,上面的屬性不是可以適用于所有方法的,比如AssemblyInitialize()和ClassInitialize()是必須是靜態方法的屬性.
我們可以把初始化的操作放在他們里進行.

Step5.修改測試方法及其斷言.
到現在,我們的思路開始清晰起來了,我們要開始做真正的測試了,不是僅僅去掉斷言就pass那么簡單了:)
我們的測試思路應該是這樣:我們調用該方法,需要傳入什么值,會影響什么值,當它執行之后,會產生怎樣的期待值?我們把期待值與實際的值想比較,同時寫下斷言失敗的message.
還是以我們的MyCahce為例,假如我們有個ListCache類,里面有個AddItemToTop(item)方法,表示把一個item插入到當前鏈表的頭部.我們實際的測試函數該這么寫
Guid id = System.Guid.NewGuid();
Item item = new Item(id);
list.AddItemToTop(item);
Assert.AreEqual(id, roomList.FirstLinkedItem.Key, "插入后查詢獲得的key值與插入的對象的key值不相等!");
通過比對插入后的鏈表的頭部的key與之前保存的key值來判斷,這是不是一次成功的插入.
這只是個很簡單的例子,我們當然應該根據具體的方法需要實現的功能來定義測試代碼.

Step6.OVER
完成了上面5部,相信你已經對VSTS的Unit Test非常的熟悉了,接下來需要做的就是把你需要的測試的method都提供正確的測試代碼,注意,這里我們甚至不要考慮我們本身的項目究竟有沒有實現該功能,但我們應該該知道,我們需要什么功能.我們只針對應該產生的結果寫測試代碼.當測試不通過時,我們只需要修改我們的目標項目,而不再需要修改我們的測試項目.這其實正是TDD(測試驅動開發)的思想,我們如果要驗證我們的方法有沒有錯,只需要run一下test即可,真正實現了全自動化單元測試, 這里邊的實際開發效率的提高,只有你在真正體會過后才能明白:)

以上就對VSTS2005單元測試進行了一番介紹。

【編輯推薦】

  1. 用VSTS代碼驗證工具捕捉C/C++錯誤
  2. VSTS 編寫測試Test技巧
  3. 全職殺手:用VSTS2010進行軟件生命周期管理
  4. 用VSTS代碼驗證工具捕捉C/C++錯誤
  5. 自定義VSTS開發流程
責任編輯:yangsai 來源: 網絡轉載
相關推薦

2009-08-19 09:00:48

單元測試框架自動化測試

2016-09-26 16:42:19

JavaScript前端單元測試

2012-03-30 15:52:51

ibmdw

2017-01-16 13:38:05

前端開發自動化

2017-09-21 16:06:43

DevOps自動化測試代碼

2017-01-14 23:42:49

單元測試框架軟件測試

2021-10-13 10:06:49

自動化IT安全

2022-02-04 21:50:37

網絡安全自動化

2011-04-18 12:52:37

自動化測試功能測試軟件測試

2012-11-20 17:22:57

2010-08-27 09:11:27

Python單元測試

2022-08-23 09:00:00

Web測試工具自動化

2021-03-03 14:50:55

安全自動化機器學習網絡安全

2023-08-02 15:33:27

2010-06-22 09:06:36

Visual Stud

2023-07-26 08:58:45

Golang單元測試

2011-05-16 16:52:09

單元測試徹底測試

2009-07-21 16:30:15

iBATIS.NET與單元測試

2012-02-27 17:34:12

Facebook自動化

2017-10-01 06:24:13

點贊
收藏

51CTO技術棧公眾號

伊人色综合久久天天| 成人台湾亚洲精品一区二区| 国产视频一区在线观看| 国产玖玖精品视频| 久久国产一级片| 日韩高清影视在线观看| 欧美日韩一级片在线观看| 2021国产视频| 免费在线视频一级不卡| 久久精品国产网站| 97福利一区二区| 很污很黄的网站| 天美av一区二区三区久久| 91精品国产综合久久久久久久久久 | 国产精品私房写真福利视频| 成人一区二区三区四区| 亚洲天堂网在线观看视频| 一区二区亚洲精品| 日韩天堂在线视频| 男人网站在线观看| 成人自拍视频| 欧美图区在线视频| 久久国产成人精品国产成人亚洲| 污网站在线免费看| 国产精品久久久久精k8| 欧美成人综合一区| 亚洲免费黄色片| 精品一二三四在线| 国产精品国产三级国产aⅴ9色| 久久香蕉精品视频| 我不卡伦不卡影院| 中文字幕av一区二区| 在线观看av中文字幕| 亚洲3区在线| 91麻豆精品国产自产在线观看一区| 黄色一级大片在线观看| 校园春色亚洲| 五月激情丁香一区二区三区| 狠狠干视频网站| 久操视频在线免费播放| 国产精品视频第一区| 欧美一区二区三区成人久久片| 欧美一级视频免费| 成人性生交大片免费看视频在线| 亚洲综合第一页| 国产乱人乱偷精品视频| 国产最新精品免费| 91亚洲精品久久久| 国产美女无遮挡永久免费| 久久精品久久综合| 91精品久久久久久久| 亚洲天堂2021av| 久久国产婷婷国产香蕉| 成人高h视频在线| 超碰在线观看91| 日韩成人精品在线| 国产精品青青在线观看爽香蕉 | 日本大片在线播放| 亚洲综合免费观看高清完整版| 国产激情片在线观看| 男女在线视频| 天天av天天翘天天综合网| 少妇无码av无码专区在线观看 | 欧美日韩精品系列| 九九热99视频| 911亚洲精品| 亚洲成人在线网| 亚洲天堂网一区二区| 免费看日本一区二区| 国产亚洲精品久久久| 欧美福利在线视频| 欧美成人有码| 欧美在线观看网址综合| 日本免费在线观看视频| 美女视频免费一区| 亚洲va男人天堂| 午夜视频1000| 日本一区二区在线不卡| 欧洲xxxxx| 成人三级高清视频在线看| 色又黄又爽网站www久久| 日本人视频jizz页码69| 午夜视频在线观看精品中文| 精品视频偷偷看在线观看| 在线视频第一页| 欧美91视频| 欧美一区二区三区免费视| 中文 欧美 日韩| 国产乱子伦视频一区二区三区 | 色综合天天爱| 久久久久国产一区二区三区| www.久久精品视频| 国产在线视频精品一区| 久久99精品久久久久久青青日本 | 91在线视频免费| 天天操天天干天天操| 国产精品网站导航| 国产肉体ⅹxxx137大胆| 无人区在线高清完整免费版 一区二| 3d动漫精品啪啪1区2区免费| 国产肉体xxxx裸体784大胆| 久久社区一区| 欧美亚洲成人免费| www.xxx国产| 欧美激情在线一区二区| av高清在线免费观看| 狂野欧美性猛交xxxx| 亚洲精品乱码久久久久久金桔影视| 欧美日韩国产黄色| 中文日韩在线| av在线不卡一区| 尤物网在线观看| 午夜成人免费电影| 91大神免费观看| 成人在线国产| 青青草成人在线| 亚洲精品第五页| 中国色在线观看另类| 国产精品欧美激情在线观看| 亚洲国产中文在线二区三区免| 伊人伊人伊人久久| 久久精品视频1| 99久免费精品视频在线观看| 久操手机在线视频| 国产一区精品福利| 亚洲人午夜精品| 91看片在线播放| 成人中文字幕电影| 日韩视频一二三| 热久久久久久| 中文字幕亚洲欧美在线| aaaaaa毛片| 26uuu欧美| 3d动漫一区二区三区| 第一区第二区在线| 久久久久久午夜| 老牛影视av牛牛影视av| 一区二区三区国产| 精品人妻一区二区乱码| 亚洲成人精选| 91色中文字幕| 国产原创精品视频| 91精品婷婷国产综合久久性色 | 亚洲视频二区| 国产一区二区在线网站| 超级碰碰不卡在线视频| 精品久久久久久久久久久久久久久久久| 成人性生活毛片| 精品亚洲国内自在自线福利| 在线国产伦理一区| crdy在线观看欧美| 美乳少妇欧美精品| av官网在线观看| 尤物av一区二区| 日本人妻一区二区三区| 在线播放日韩| 久久偷看各类wc女厕嘘嘘偷窃| 超碰aⅴ人人做人人爽欧美| 日韩精品免费电影| 国产伦精品一区二区三区视频我| 国产日韩欧美a| 999在线观看| 午夜国产精品视频| 国产亚洲福利社区| 欧美黑人粗大| 中文字幕一区二区精品| 国产精品一区二区人人爽| 一区二区三区毛片| 这里只有精品在线观看视频| 亚洲一区二区免费看| 日韩久久久久久久久久久久久| 91精品国产经典在线观看| 伦理中文字幕亚洲| 色wwwwww| 精品污污网站免费看| 亚洲最大的黄色网址| 丁香啪啪综合成人亚洲小说| 97在线播放视频| 日本成人小视频| 91在线看网站| 亚洲男人av| 成人97在线观看视频| 无码国产伦一区二区三区视频 | 久久中文字幕av| 99se婷婷在线视频观看| xxxxxx欧美| 久久综合伊人77777| 亚洲人视频在线观看| 欧美日韩大陆一区二区| 久久久久免费看| 国产欧美精品日韩区二区麻豆天美| 中文字幕在线综合| 99精品视频免费观看| 一区二区三区av在线| 国产欧美三级电影| 国产日韩中文在线| 僵尸再翻生在线观看| 久久久av网站| 男操女在线观看| 亚洲成成品网站| 在线视频欧美亚洲| 精品色蜜蜜精品视频在线观看| 国产亚洲精品久久久久久豆腐| www.av亚洲| www激情五月| 日本不卡视频在线| 日韩国产欧美亚洲| 欧美黄色一区二区| 亚洲色图自拍| 国产99精品| 国产在线资源一区| 美女日韩一区| 91精品久久久久| 国产成人精品亚洲日本在线观看| 国产做受69高潮| а√天堂资源地址在线下载| 国产一区二区三区在线看| 欧美 日韩 国产 在线| 制服.丝袜.亚洲.另类.中文| 日韩黄色片网站| 欧美色图在线视频| 日本三级午夜理伦三级三| 亚洲日本一区二区三区| 亚洲一级理论片| 久久久国际精品| 爱爱的免费视频| 99久久精品免费| 五月天丁香社区| 国产.精品.日韩.另类.中文.在线.播放| 亚洲视频第二页| 蜜臀av国产精品久久久久| 成人一级片网站| 久久精品123| 妺妺窝人体色www在线小说| 好看的日韩av电影| 欧美人与动牲交xxxxbbbb| 五月精品视频| 三年中国中文在线观看免费播放| 久久综合av| 日本三级福利片| 91精品国产乱码久久久久久| 中文字幕一区二区三区有限公司| 日韩精品免费一区二区在线观看 | 欧美亚洲三级| 国产成人精品视频免费看| 在线午夜精品| 国产精品视频一区二区三区四区五区| 亚洲一区中文| 凹凸国产熟女精品视频| 男人的天堂亚洲在线| 欧美a在线视频| 亚洲一区激情| www.日日操| 麻豆精品一区二区| 欧美激情国内自拍| 国产69精品久久久久777| 欧亚乱熟女一区二区在线| 26uuu欧美| 久久精品国产亚洲AV成人婷婷| 亚洲色图20p| 麻豆changesxxx国产| 亚洲成人免费影院| xxxx.国产| 欧美在线免费播放| 一区二区三区日| 日韩精品一区二区三区老鸭窝| 欧洲精品久久一区二区| 日韩久久午夜影院| 欧美激情免费| 久久久久久久国产精品视频| 亚洲欧美小说色综合小说一区| 国产欧美亚洲视频| 99re8这里有精品热视频8在线| 精品国产乱码久久久久久郑州公司| 免费av一区| 视频一区二区视频| 亚洲人人精品| 国产精品久久久毛片| 国产·精品毛片| 亚洲ⅴ国产v天堂a无码二区| 一区二区三区色| 老熟妇仑乱一区二区av| 777亚洲妇女| 亚洲黄色精品视频| 国产亚洲欧美另类中文| 最爽无遮挡行房视频在线| 欧美一级在线亚洲天堂| a一区二区三区亚洲| 免费观看成人在线| 一区二区三区毛片免费| 免费在线观看亚洲视频| 久久国产精品72免费观看| a天堂视频在线观看| 国产精品日日摸夜夜摸av| 国产在线欧美在线| 欧美日本一区二区在线观看| 少妇又色又爽又黄的视频| 日韩中文理论片| 日韩脚交footjobhdboots| 91亚洲午夜在线| 精品美女久久| 鲁一鲁一鲁一鲁一色| 另类中文字幕网| 人妻体内射精一区二区| 亚洲最快最全在线视频| 亚洲网站在线免费观看| 亚洲激情视频网| 日韩另类在线| 国产人妖伪娘一区91| 亚洲人成精品久久久 | 2024国产精品| 九九视频在线免费观看| 欧美老肥妇做.爰bbww| 欧美日韩激情视频一区二区三区| 久久99亚洲热视| 欧美黄页免费| 亚洲成人自拍视频| 99香蕉国产精品偷在线观看 | 精品国产99| 日韩av综合在线观看| 国产成人av影院| 午夜激情福利网| 91麻豆精品国产无毒不卡在线观看| 91露出在线| 国产精品视频在线播放| 欧美男gay| 日韩精品视频一区二区在线观看| 丰满亚洲少妇av| 欧美黑吊大战白妞| 91麻豆精品国产综合久久久久久| 日本在线观看网站| 国产精品日日做人人爱| 国产探花在线精品一区二区| 欧美 日韩 国产一区| 99久久99久久久精品齐齐| 久久精品这里有| 亚洲成人激情在线| 国产精品偷拍| 国产精品v欧美精品v日韩精品| 欧美色综合网| 欧美午夜精品一区二区| 亚洲理论在线观看| 成人福利小视频| 欧美丰满少妇xxxxx做受| 亚洲欧洲国产精品一区| 97超碰国产精品| 成人国产一区二区三区精品| www.99re7.com| 亚洲国产免费av| 色在线免费观看| 欧美视频观看一区| 肉色丝袜一区二区| 黑人と日本人の交わりビデオ| 欧美日韩在线观看一区二区| 黄网站在线免费看| 91精品黄色| 亚洲国产影院| 国产精品扒开腿做爽爽| 在线视频中文字幕一区二区| 在线免费观看黄色av| 国产一区二区在线播放| 欧美日韩国内| 91av在线免费| 欧美性欧美巨大黑白大战| 国产在线69| 国产亚洲一区在线播放 | 日韩欧美精品免费在线| 岛国在线大片| 亚洲最大成人免费视频| 99精品视频免费观看| 欧美午夜激情影院| 欧美一区二区精美| 黄色aa久久| 亚洲精品国产一区| 国产精品伊人色| 亚洲精品男人天堂| 久久香蕉频线观| 露出调教综合另类| 成年网站在线播放| 亚洲一区二区影院| 黄色免费在线播放| 97人人香蕉| 日韩成人免费电影| 国产午夜精品无码| 中文字幕精品一区久久久久| 亚洲国产精品免费视频| 看av免费毛片手机播放| 亚洲啪啪综合av一区二区三区| 亚洲欧美综合在线观看| 成人黄色激情网| 一区二区三区精品视频在线观看| 你懂得视频在线观看| 精品sm在线观看| 午夜不卡一区| wwwxxx黄色片| 一区二区国产视频| 成全电影播放在线观看国语| 国产精品加勒比| 精品一区二区免费视频| 黄色在线免费观看|