我將爲我的應用程序創建集成測試。我希望我的集成測試不會在生產數據庫中執行。我希望在測試執行開始之前,我的繼續集成服務器(團隊城市)創建我的數據庫的副本,並對其執行集成測試。任何方法或最佳實踐?動態創建測試數據庫副本
編輯:
我想automatizate這個過程(以文章或論壇的任何鏈接)。
我將爲我的應用程序創建集成測試。我希望我的集成測試不會在生產數據庫中執行。我希望在測試執行開始之前,我的繼續集成服務器(團隊城市)創建我的數據庫的副本,並對其執行集成測試。任何方法或最佳實踐?動態創建測試數據庫副本
編輯:
我想automatizate這個過程(以文章或論壇的任何鏈接)。
這裏是我會做
工作,這是很容易用做SSIS。
步驟:
要了解SSIS,一本好書是微軟出版社提供的SQL Server Integration Services Step By Step。
爲SQL Server好論壇
你可能不希望構建服務器觸及生產數據庫(我當然不會)。
我會創建一個工作來從.bak文件或腳本加載數據庫(如果它不會太大,您可以對其進行版本化),然後在運行測試之前運行該作業。
我目前的工作來完成相同的任務。我已經安裝了惡性我的機器上,然後創建以下文件夾
./servername/databasename/release
./servername/databasename/restore
./servername/databasename/rollback
./servername/databasename/test
的計劃是然後爲每個任務(釋放,恢復,回滾,測試)創建惡性目標。
./servername/databasename/restore/000001.set_database_offline.sql
./servername/databasename/restore/000002.restore_database.sql
./servername/databasename/restore/000003.fix_orphaned_logins.sql
./servername/databasename/restore/000004.do_some_operation_example_upgrade_table_x.sql
然後,我創建了所有帶數字前綴的腳本,以控制執行順序。這背後的想法是創建命名與我的文件夾匹配的構建任務,所以我可以執行下面列出的命令,這將快速執行目錄中的所有腳本。
nant restore
nant release
nant rollback
nant test
我想我需要增強已經有單獨的測試釋放和回滾的過程,但這是一個正在進行的工作。
讓我知道你是否選擇遵循相同的路徑。合作並分享一個簡單的可重複流程將會非常酷。
理由這樣做是: 1.自動化 2.重複性 3.一致性 4.添加的所有代碼到源代碼管理
目標是要能夠部署和測試跨多個環境,做促進代碼生產時不會更改代碼。
Regards,
我一直在做這至少兩年。這並不複雜。我從腳本創建測試數據庫,也從腳本填充測試數據,所有這些都是從NUnit FixtureSetup步驟調用的。沒有任何問題。
我想自動化這個過程(任何鏈接到文章或論壇)。 – 2010-06-22 14:13:16
編輯回覆評論。 – 2010-06-22 15:02:15