2009-10-28 69 views
0

使用NUnit測試Web服務的最佳方式是什麼? 我希望它是自動化的,即我不想有一個單獨的進程來託管測試代碼使用的Web服務。無IIS的Web服務測試

回答

0

這取決於你想測試什麼。可以進行完整的集成測試,並且有一些價值(例如檢查序列化)。一個簡單的方法來獲得良好的測試覆蓋率以最小的工作如下:

  1. 寫一個或多個老式類,做實際工作(如果需要使用TDD)
  2. 測試這些類中隔離
  3. 讓你的WebMethods委託給這些類。
+0

我認爲這將是我會領導的方向。 – 2009-10-28 07:52:38

1

Web服務只是一個plain-old-.net類。你可以直接實例化它,並在單元測試中調用它的方法。

這不會允許您測試Web服務的HTTP特定方面,如協議級別的身份驗證,但是我會說沒有爲此使用Web服務器。

0

取決於。如果它是asmx,則可以在Vista和更高版本上使用HostableWebCore。如果它是WCF,那麼只需通過在您的流程中創建ServiceHost實例來進行自我託管。你可以直接實例化服務impl,但是如果你有任何HTTP-ISM(HttpContext,Request/Reponse訪問,cookies等),你將不得不嘲笑它們。