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: 無効な IContextChannel が OperationContext に渡されました。サーバー ディスパッチ チャネルまたはクライアント プロキシ チャネルのいずれかである必要があります。

サーバーディスパッチチャネルをモックするにはどうすればよいですか?

4

1 に答える 1

4

直接できません。WCFMockが役立つかどうかを確認してください。

于 2013-04-29T18:50:09.790 に答える