2011-11-16 61 views
2

我一直在試圖做一些關於這個話題的研究,因爲我認爲這種情況經常發生,但我還沒有找到任何太相關的東西。我們與我們的客戶進行了第三方服務交流。我們有他們的WSDL,已經提供了服務引用並開發了我們的項目,但我們實際上並沒有訪問他們的服務進行測試。什麼是測試我們的代碼的最佳方式?以下是我知道的選項:WCF - 測試引用的第三方服務

  1. 肥皂UI - 此工具允許您從WSDL創建模擬服務。您可以指定將針對不同方法調用返回的回覆消息,但據我所知,完全是隨機將使用哪個回覆。
  2. 手動創建模擬服務 - 我發現我需要更多的控制測試服務。具體來說,我想做輸入驗證並返回正確的數據。因此,我構建了自己的模擬服務,它擴展了我使用WSDl.exe tool中的/ serverInterface從客戶端的WSDL生成的服務接口。

有沒有更好的方法來做這種測試?選項1讓我覺得非常有限,但選項2似乎有點密集。由於工作量的限制,我的同事嘲笑選項2,並提到我們應該使用Visual Studio來執行測試。 Visual studio中有這樣的測試工具嗎?如果是這樣,它是否會像Soap UI一樣受到限制,我們會在哪裏受到重複的回覆消息?

謝謝!

更新:澄清,關於Visual Studio測試問題:我知道在VS中有一個測試套件,並且有像Web測試這樣的東西,但模擬服務怎麼樣?我沒有看到任何可以指示這種測試工具的存在。

回答

1

我們有多個使用您的選項2運行的模型。事實上,模仿外部服務的操作行爲需要一些工作,但它付出了巨大的回報。您可以完全控制測試實施,並可以控制哪個問題返回哪個答案。

重要的是對來自第三方的服務行爲的很好的描述。界面描述通常很少詳細。什麼錯誤可以返回?何時發生錯誤?什麼是快樂的道路。所有人都應該知道。因此,作爲創建模型的副作用,您可以在第三方服務的運作方面獲得專家洞察力:-)

+0

感謝您的迴應。對我來說,完全控制絕對是最有意義的 - 測試是重要的!你是否也使用WSDL工具創建了模型?客戶端的服務使用Java,而我們的服務使用WCF,而我製作的模型是ASMX。 – yourbuddypal