3

値が適切に読み取られ、OutgoingReponse.ContentType が目的の形式と一致することをテストするために、Accept 値を割り当てるヘッダーを使用して、WebOperationContext、特に IncomingRequest をモックする必要があります。私は WCFMock を使用しており、一般的なテストではすべて問題ありませんでしたが、着信応答をモックするために何をする必要があるのか​​ 理解できません。

Accept プロパティは読み取り専用であるため、直接割り当てることはできません。System.SericeModel.Web.IncomingWebRequestContext から継承しているため、セッターを WCFMock.IncomingWebRequestContextWrapper に追加しようとしました。

だから、このようなものが望まれるでしょう

[Test]
public void SerializeObjectToXMLTest()
{
    var fake = new FakeRest();

        var mockContext = new Mock<IWebOperationContext> { DefaultValue = DefaultValue.Mock };

        using (new MockedWebOperationContext(mockContext.Object))
        {
            // WHAT I WOULD LOVE:
             MockedWebOperationContext.Current.IncomingRequest.Accept = "application/json";

            fake.SetResponseContentType();
        }

        // Assert
        mockContext.VerifySet(c => c.OutgoingResponse.ContentType, "application/json");

}

WebRequest を完全にモックする必要があるのではないかと心配しており、可能であればそれを避けたいと考えています。

4

0 に答える 0