繁体   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