編輯VS命令行相關(guān)技巧
很多年來,開發(fā)人員一直在享受測試驅(qū)動開發(fā)(TDD,Test-Driven Development)所帶來的便利。無論使用什么語言,現(xiàn)在都能輕松找到合適的工具——NUnit、JUnit以及為Perl、Python、Ruby、Delphi或其他語言所設計的各種各樣xUnits框架。
不過隨著Visual Studio 2005的發(fā)布,SQL Server開發(fā)人員在這個問題上的境遇已經(jīng)改變了。作為Visual Studio Team System的一部分,VS命令其為數(shù)據(jù)庫專家所設計的版本(官方命名為“Visual Studio 2005 Team Edition for Database Professionals”)已經(jīng)發(fā)布了,它為以下幾個問題提供了答案:真正的數(shù)據(jù)庫表現(xiàn)形式儲存在什么地方。
VS命令如何讓開發(fā)人員修改數(shù)據(jù)庫架構(gòu),并且將這些更新以標準化的形式發(fā)送給DBA以供審批。VS命令如何修改數(shù)據(jù)庫架構(gòu)(例如重命名一個數(shù)據(jù)列),并且讓整個數(shù)據(jù)庫都能了解這次改變所帶來的影響。如何對存儲過程進行單元測試,包括如何為這些測試生成數(shù)據(jù)。#t#
雖然前三點非常重要——它們已經(jīng)為團隊解決了許多問題——但是第四點經(jīng)常被忽視。因為單元測試和數(shù)據(jù)生成已經(jīng)成為DBPro的頭等公民,開發(fā)人員能夠?qū)⒋鎯^程與他們的測試驅(qū)動開發(fā)周期集成在一起。這給團隊提供了強大的能力和自信來確定自己的系統(tǒng)運行良好,同時也能更深入地了解系統(tǒng)在數(shù)據(jù)庫架構(gòu)改變之后所受到的影響。
然后我們就可以修改測試代碼和方法實現(xiàn),直到完全滿足以上的折扣策略。然而,這意味著如果我們要改變折扣策略,就需要重新編譯代碼,至少也需要修改配置文件。
如果這段邏輯存儲在一個數(shù)據(jù)表里,VS命令那么我們可以將訂單的價格傳入一個存儲過程,然后在表中查詢折扣數(shù)量。不過,VS命令當我們著手創(chuàng)建表格和存儲過程時,很快就會遇到一些問題。這個表格的結(jié)構(gòu)是怎么樣的?我們該如何表示一個范圍的***值和***值?如何處理邊界情況?
這正是DBPro的單元測試功能試圖回答的問題。讓我們來看一下如何使用測試驅(qū)動的方式,VS命令在SQL Server中創(chuàng)建表格和存儲過程并實現(xià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天試用版本。