2010-08-05 32 views
3

我正在實現基於WF的WCF Web服務。這個Web服務消耗了我不負責的其他Web服務。所以基本上我的服務工作流程包含幾個發送活動如何在WF工作流中模擬Web服務調用?

我正在關注的TDD方法,因此該服務的實現是通過單元測試覆蓋。我想測試適當的第三方服務調用。

在非工作流程情況下,我會通過NMock嘲笑的外部服務。但在我的情況下,我無法控制實例化工作流實例,我不知道如何欺騙發送活動來使用模擬對象而不是真正的服務端點。

雖然Unit Testing Workflows And Activities文章MSDN上提到嘲笑我找不到嘲諷Send活動的遠端的任何完整的例子。

任何想法如何做到這一點?

回答

0

請嘗試鼴鼠框架。 http://research.microsoft.com/en-us/projects/pex/

對於如何嘲笑的SharePoint服務的樣本。我相信同樣的技巧應該適用於WF工作流程。

我試圖模擬sqlconnection,實體框架,Web服務調用,它的工作非常整潔。基本上,它可以模擬幾乎所有的.net對象。

0

使用ServiceAgents包裝爲您的Web服務將是這樣做的一種可能的方式。

這是我在之前的項目中遵循的模式。

因爲它們是基於接口,您可以輕鬆地模擬出了服務。

此模式還有其他優點(除了單元測試),包括能夠將應用程序從外部依賴關係抽象到某種程度。但是它增加了在服務之上創建另一個類層的開銷。