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