如何在WCF ServiceAuthorizationManager中模拟IContextChannel?
问题描述:
我正在尝试编写自定义ServiceAuthorizationManager的单元测试。对CheckAccessCore的调用需要一个OperationContext作为参数。为了实例化OperationContext,必须将IContextChannel传递给构造函数。使用MOQ,我宣布一个IContextChannel:如何在WCF ServiceAuthorizationManager中模拟IContextChannel?
private OperationContext _context;
private Mock<IContextChannel> _contextChannelMock;
然后我试图创建的OperationContext:
_context = new OperationContext(_contextChannelMock.Object);
,但此行抛出异常:
结果消息:初始化方法 Urs.EnterpriseServices.Providers.Tests.UrsServiceAuthorizationManager_Tests.SetUp 引发异常。 System.InvalidOperationException: System.InvalidOperationException:无效的IContextChannel传递给 OperationContext。必须是服务器调度通道或 客户端代理渠道..
如何嘲笑,服务器调度通道?
你使用什么代码来设置你的'Mock''的'Object'属性? –
2013-04-29 18:42:23
目前没有。我试图设置每个属性,我仍然有错误。 – Steve 2013-04-29 18:44:16