>source

i를 사용하는 요청 방법이 있습니다.httpClient....에 서비스 클래스 생성자가 주입됩니다ihttpclientfactory.이 code를 사용하여 클라이언트를 만듭니다.

_httpClient= httpClientFactory.CreateClient(url);

내 테스트 생성자에서는 조롱하려고합니다.Postasync.방법 응답.

public MyServiceUnitTests()
    {
        _HttpClientMock= new Mock<IHttpClientFactory>();
        var mockHttpMessageHandler= new Mock<HttpMessageHandler>();
        mockHttpMessageHandler.Protected()
            .Setup<Task<HttpResponseMessage>>("PostAsync", ItExpr.IsAny<string>(), ItExpr.IsAny<HttpContent>())
            .ReturnsAsync(new HttpResponseMessage{ StatusCode= HttpStatusCode.OK });
        var httpClient= new HttpClient(mockHttpMessageHandler.Object);
        _HttpClientMock.Setup(x=> x.CreateClient(It.IsAny<string>())).Returns(httpClient);
        _Service= new MyService(_HttpClientMock.Object);
    }

mockhttpmessageHandler를 설정할 때 다음 오류가 발생합니다.System.ArgumentException : '보호 된 메소드가 없음 HttpMessageHandler.PostAsync가 제공된 인수 (String, HttpContent)와 호환되는 서명이 발견되었습니다.'

나는 무엇을 잘못하고 있습니까?

  • 이전 c++ 문자열을 얻으려면 항상 비어 있습니다, 람다
  • 다음 aframe : A-프레임 슈퍼 손 잡아 잡는 물건을 회전시킵니다