2011-12-29 208 views
1

我使用WCFMock嘲笑我的web服務的WebOperationContext。唯一的用法是將自定義HTTP標頭添加到WebOperationContext.Current.OutgoingResponse.Headers集合中。我無法使用Moq驗證這一點。我已經嘗試過:嘲諷WebOperationContext

  • 驗證Add方法是否正在調用。失敗的原因是加不虛
  • 嘗試直接從MockedWebOperationContext.Current訪問頭。這在數量上始終爲零

如何在我的單元測試案例中驗證是否已添加自定義標頭?

回答

4

想通了。這是後代的解決方案。

當我們創建了「起訂量模擬」爲IWebOperationContext的例子表明,我們設置的屬性DefaultValue = DefaultValue.Mock。這將模擬包括HttpHeaders集合在內的所有依賴項。我跳過這個並嘲笑OutgoingWebResponseContext返回WebHeaderCollection。對於我的測試用例,我只是在這個集合上聲明。

+0

我看很接近這個問題,你有什麼東西,任何機會,你可以發佈您的代碼?我在這裏錯過了一些概念性的觀點,這對我很有幫助。 – BryanGrimes 2012-01-19 15:46:50

+0

看起來像這個項目仍然有效,儘管它自2009年以來還沒有新版本? – PositiveGuy 2013-10-28 21:16:19