6

我正在尝试为自定义 ServiceAuthorizationManager 编写单元测试。对 CheckAccessCore 的调用将 OperationContext 作为参数。要实例化 OperationContext,必须将 IContextChannel 传递给构造函数。使用 MOQ,我声明了一个 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:传递给 OperationContext 的 IContextChannel 无效。必须是服务器调度通道或客户端代理通道..

我如何模拟服务器调度通道?

4

1 回答 1

4

你不能直接。看看WCFMock是否会有所帮助。

于 2013-04-29T18:50:09.790 回答