有趣的VS2005代碼相關(guān)技巧
VS2005代碼和集成開發(fā)環(huán)境包括許多新的和改進(jìn)的用于提高工作效率的功能。IDE 還進(jìn)行了重新設(shè)計(jì),從而向開發(fā)人員提供對(duì).NET Framework 組件的直接訪問。并且代碼使用說明。
如果這段邏輯存儲(chǔ)在一個(gè)數(shù)據(jù)表里,那么我們可以將訂單的價(jià)格傳入一個(gè)存儲(chǔ)過程,然后在表中查詢折扣數(shù)量。不過,當(dāng)我們著手創(chuàng)建表格和存儲(chǔ)過程時(shí),很快就會(huì)遇到一些問題。這個(gè)表格的結(jié)構(gòu)是怎么樣的?我們?cè)撊绾伪硎疽粋€(gè)范圍的***值和***值?如何處理邊界情況?
這正是DBPro的單元測(cè)試功能試圖回答的問題。讓我們來(lái)看一下如何使用測(cè)試驅(qū)動(dòng)的方式,在SQL Server中創(chuàng)建表格和存儲(chǔ)過程并實(shí)現(xiàn)這個(gè)功能。如果您想隨著以下的步驟一起進(jìn)行試驗(yàn),那么您需要安裝Visual Studio 2005/2008 with Team Edition for Database Professionals (DBPro),以及Team Edition for Testers/Developers。您能夠在http://msdn2.microsoft.com/en-us/teamsystem/default.aspx下載到180天試用版本。#t#
內(nèi)容導(dǎo)航
首先我們需要一個(gè)數(shù)據(jù)庫(kù)。DBPro中的測(cè)試是面向一個(gè)真正的數(shù)據(jù)庫(kù)的。一般來(lái)說,單元測(cè)試應(yīng)該避免涉及到文件系統(tǒng),數(shù)據(jù)庫(kù)以及其他一些外部資源(Feathers, Michael, Working Effectively with Legacy Code, Prentice Hall PTR, 2004),因?yàn)檫@樣會(huì)降低測(cè)試的速度。然而,您也許可以將這些測(cè)試視為集成測(cè)試,這樣測(cè)試所帶來(lái)的功效就彌補(bǔ)了速度方面的問題。為了提高測(cè)試速度,我們將在本地的SQL Express數(shù)據(jù)庫(kù)中運(yùn)行這些測(cè)試。
當(dāng)您點(diǎn)擊OK按鈕之后就會(huì)彈出一個(gè)配置向?qū)В屛覀冞x擇一個(gè)用于運(yùn)行測(cè)試的數(shù)據(jù)庫(kù)連接。它也會(huì)讓我們選擇第二個(gè)連接用于驗(yàn)證這些測(cè)試。這在某些情況下非常有用,例如一個(gè)測(cè)試應(yīng)該作為一個(gè)普通用戶來(lái)執(zhí)行,但是存儲(chǔ)過程可能修改了這個(gè)用戶賬號(hào)本不能訪問的數(shù)據(jù)表。
現(xiàn)在,我們需要選擇一個(gè)之前建立的數(shù)據(jù)庫(kù)連接用于執(zhí)行單元測(cè)試,因此我們從下拉框中選擇OnlineStore連接。由于我們將會(huì)在編寫測(cè)試數(shù)據(jù)庫(kù)項(xiàng)目中開發(fā)我們的存儲(chǔ)過程,所以我們也要在測(cè)試運(yùn)行之前建立配置信息,用于自動(dòng)部署我們對(duì)數(shù)據(jù)庫(kù)項(xiàng)目的改動(dòng)。這會(huì)導(dǎo)致測(cè)試在運(yùn)行前有所延遲,但是這避免了因?yàn)闆]有重新部署數(shù)據(jù)庫(kù)的改動(dòng)而使測(cè)試莫名其妙的通過或失敗?,F(xiàn)在您的屏幕應(yīng)該是這樣的: