1

WCFMockを使用して、WebサービスのWebOperationContextをモックしています。唯一の使用法は、カスタムHTTPヘッダーをWebOperationContext.Current.OutgoingResponse.Headersコレクションに追加することです。Moqを使用してこれを確認することはできません。私がすでに試したこと:

  • Addメソッドが呼び出されているかどうかを確認します。追加は仮想ではないため、これは失敗します
  • MockedWebOperationContext.Currentから直接ヘッダーにアクセスしてみてください。これは常に数がゼロです

カスタムヘッダーが追加されたことを単体テストケースで確認するにはどうすればよいですか?

4

1 に答える 1

4

理解した。これが後世のための解決策です。

IWebOperationContext の「moq モック」を作成するとき、この例では、プロパティを設定することをお勧めしますDefaultValue = DefaultValue.Mock。これにより、HttpHeaders コレクションを含むすべての依存関係がモックされます。私はこれをスキップし、 を嘲笑してOutgoingWebResponseContextを返しましたWebHeaderCollection。私のテスト ケースでは、このコレクションに対して単純にアサートします。

于 2012-01-04T06:38:42.203 に答える