2011-11-07 59 views
0

我有一堆C#VS2010項目在TeamCity構建服務器上自動編譯。
構建服務器編譯項目,然後在輸出上運行自動單元測試。
問題是,部分測試嘗試與本地服務器上的WCF服務進行通信。從TeamCity構建服務器自動發佈到IIS7的WCF服務

測試失敗,因爲BuildServer只構建項目並且不會將輸出服務發佈到IIS7上(與TeamCity一起運行)。
有沒有一種簡單的方法來自動告訴TeamCity(可能通過MSBuild.exe)每次代碼完成編譯時發佈我的* .svc文件?

謝謝[=做會在TeamCity的結算目錄指向IIS7

回答

0

最簡單的事情 - 將建立有那麼你可以不用模擬運行部署對業務的測試。您還可能需要創建2個階段的測試 - 一個是在「部署」之前運行的另一個傳統單元測試,第二階段在第一階段成功並且「部署」發生後運行。

部署出TeamCity絕對可以工作,但具體取決於您的網絡和應用程序地形。

0

要部署Web服務,您可以使用Web Deploy在IIS中打包和安裝服務。但是,真正的問題似乎是您的測試對服務的依賴性。你應該抽象你的服務接口,並在你的測試中使用一個模擬框架和你最喜歡的DI容器,這樣服務就不需要了。

HTH。