我已經實現了一個相當不錯的訂閱/發佈(用於我自己的享受)WCF服務。就像我見過的所有博客和書籍都使用OperationContext
來獲取客戶回撥地址。經過一番閱讀後,由於許多人說不使用OperationContext
,我發現自己無法創建適當的單元測試。但我一直無法找到替代方案。我想這個訂閱方法可以接受一個參數來提供它自己的地址嗎?我可以從集成測試立場的角度看到代碼是可測試的,但由於OperationContext
將始終爲空,所以不適用於單元測試。在沒有OperationContext的情況下創建可測試的WCF服務
如何在不使用OperationContext
的情況下訂閱我的服務時獲得客戶端端點?
一點點的旁白,但是當顯示代碼示例時,哪裏有一個很好的WCF資源,並且考慮到測試?有大量的博客在不提供示例測試用例的情況下重申相同的代碼。
謝謝。
不錯的答案。並不是說我試圖從鼴鼠框架中隱藏起來,但是我怎麼會模仿'OperationContext'? – gcso 2011-03-23 22:51:44
你通常不能模擬'OperationContext'(除非你包裝它),但當使用Moles時,你可以將調用重定向到OperationContext到你自己的方法。至少這是我閱讀一些文章後對他們工作的理解。 – 2011-03-23 22:53:27
如果你看看http://code.google.com/p/netfx/,他們會爲你準備好所有那些無法訪問的WCF類。 – 2011-07-12 23:14:57