2013-03-03 89 views
8

在短時間內,我將開始基於Windows Azure的項目。我想知道測試Windows Azure項目有什麼經驗(連續集成(使用TFS構建服務器))?成爲(最終使用TDD)測試Windows Azure的最佳實踐(單元)

有些事情我想知道:

  • 你用嘲諷(在你自己寫的包裝類)?
  • 您使用存儲模擬器嗎?
  • 您是否將服務部署到Azure並從構建服務器運行測試到雲? (成本如何)?

Thnaks提前!

回答

4

同爲編寫單元測試應用程序的Windows Azure之外好的做法適用。如果您對實際測試的內容具有外部依賴性,則應將該依賴性模擬並注入以進行粒度單元測試。

例如,當我使用Windows Azure存儲隊列時,我將有一個接口用於與隊列本身交互,因此在使用隊列服務的代碼中,我可以使用該接口模擬子系統並使用依賴關係注入以注入模擬。這消除了在單元測試期間實際處理仿真器的必要性。大多數情況下,與隊列一起工作的代碼的實際具體實現不過是一個非常薄的包裝器。

我個人不拍了100%的測試覆蓋率,所以我可能沒有利用的具體落實包裝的直接單元測試。在很多情況下,我嘗試進行集成測試,這些測試將運行這些包裝並運行系統的多個方面。在某些情況下,我可以在模擬器中運行集成測試(例如,針對存儲操作),但在某些情況下,只需運行訪問Windows Azure環境(在使用ACS或服務總線的情況下)即可。

理想情況下,你想有一組可以運行旋轉了一個最小的一組測試服務器在Azure中,部署解決方案和運動不能的處所進行集成測試腳本。然後獲取結果,並讓腳本關閉所有內容(或者如果需要,可以選擇讓它運行)。然後運行集成測試套件,這些套件通常足以檢測問題,但您無需每次檢查內容時都運行它們,除非您滿意地始終運行測試環境。如果您在Azure中運行的半永久性測試環境的成本沒有問題,那麼只需確保將腳本安裝到更新部署中,而不是刪除並重新部署以節省一點成本(節省的時間可能與多久部署發生)。

我相信這個問題是一個很主觀的,你很有可能會得到一些不同的意見。

+0

我想的若干意見,這樣我就可以看到哪些不同的選擇有和「最佳實踐」有(可以每答案有所不同) – mrtentje 2013-03-04 21:19:51