2011-12-29 21 views
1

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

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

私のユニットテストケースで、カスタムヘッダーが追加されたことをどのように確認できますか?

答えて

4

後世のための解決策はここにあります。

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

+0

私はあなたが持っていたこの問題にかなり近い何かを見ています。あなたのコードを投稿することができますか?私はここでいくつかの概念的な点を逃している、それは私を大きく助けるだろう。 – BryanGrimes

+0

2009年から新しいバージョンがないのに、このプロジェクトのように見えますか? – PositiveGuy