與我的previous question相反,我會盡力滿足我的要求。如何自動化功能/集成測試和數據庫回滾
我試圖找到一些框架/方法/「東西」,將符合下列:
- 能力編寫自動測試,最好寫在Visual Studio中,使用C#。
- 測試應該驅動一個Web瀏覽器,並像用戶一樣與SUT進行交互。
- 測試應該能夠在數據庫中設置測試場景。
- 測試應該能夠斷言用戶交互在DB中具有預期的效果。
- 測試完成後,它應該能夠回滾它在數據庫中所做的所有更改。
我的第一次嘗試是使用NUnit測試來驅動硒(在此之前,華廷),但我面臨有點問題的(檢查上面的鏈接),而使用的TransactionScope回滾變化硒驅動瀏覽器在DB中做過。
有沒有人在「真實世界」中做過這樣的事情?我通過Google找到了一些參考資料,但一直未能找到有關如何實施的具體示例。如果我要進行單元測試,那就不會有任何問題。在這種情況下,TransactionScope就足夠了。
編輯:河哈維指出我的this問題,這幾乎與我的情況相同。
但是,這個問題只是差不多相同。我的應用程序是一系列服務的一部分,它們都訪問同一組數據庫表。所需的測試數據量不允許有效使用drop/create-scripts,那麼是否有一些替代解決方案?
我們正在使用SQL Server 2005,並且我不擅長數據庫魔術,所以如果有一些方法可以使用除drop/create之外的sql腳本,那麼這可能是一個選項。
編輯2:
基礎上的答案和一些額外的撓頭,我們會去更輕量級的數據庫開發人員執行單位 - ,集成 - 測試和功能測試。這使我們能夠使用sql腳本來設置和拆除測試。
這可能有幫助:http://stackoverflow.com/questions/768944/rollback-database-after-integration-selenium-tests – 2009-09-24 05:12:49
是的,我本身沒有硒問題。似乎是一個偉大的工具!問題在於回滾Selenium驅動的broser到db中的變化。 – juarola 2009-09-24 05:14:03
哦,我的,我怎麼會錯過。在發佈之前,我試圖做大量的搜索,但這個問題的場景幾乎是一個副本。我會在我的問題中添加一點以區別於他們的情況... – juarola 2009-09-24 06:03:53