簡體   English   中英

用RhinoMock模擬WCF客戶端

[英]WCF Client Mocking with RhinoMock

我正在嘗試用Rhino Mock模擬WCF客戶代理,但運氣不佳。

    var ServiceMock = MockRepository.GeneratePartialMock<ServiceClient>();
    ServiceMock.Expect(p => p.Publish("")).IgnoreArguments().Return("Worked");

這就是我一直在嘗試模擬代理的方式。 這是通過構造函數正常設置的。

這似乎不是在嘲笑ServiceClient有人可以幫助嗎?

應該能夠做這樣的事情:

[TestClass]
public class MyTestClass{

private IService _service;

[TestInitialize]
public void Setup(){
_service = MockRepository.GenerateStrictMock<IService, ICommunicationObject>();
}

[TestMethod]
public void TestWhatsGoingOn(){

_service.Expect(.....).Return(.....);

//This will test the close is called too (hence the ICommunicationObject above)
((ICommunicationObject)_service).Expect(r => r.Close());
}

[TestCleanup]
public void CleanItUp{
_service.VerifyAllExpectations();
}

這意味着您可以測試close方法是否也被調用(如預期的那樣)

我認為您需要生成嚴格的模擬,而不是部分...

當然,當然,如果您想斷言.Abort()調用是在異常處理等過程中進行的,則可以執行以下操作:

((ICommunicationObject)_service).Expect(r => r.Abort());

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM