Вытекайте HttpClientFactory для создания высмеиваемого httpclient с использованием Moq FrameworkC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Вытекайте HttpClientFactory для создания высмеиваемого httpclient с использованием Moq Framework

Сообщение Anonymous »

У меня есть метод, который содержит httpclientfactory , который создает httpclient . Метод вызывает SendAsync Метод в нем. Мне нужно манипулировать методом SendAsync , чтобы отправить мне успешное сообщение, что бы это ни приняло в качестве аргумента.public class TestService
{
private readonly IHttpClientFactory _clientFactory;

public TestService(IHttpClientFactory clientFactory)
{
_clientFactory = clientFactory;
}

public async Task TestMethod(string testdata)
{
var message = new HttpRequestMessage(); //SIMPLIFIED CODE
var client = _clientFactory.CreateClient();
var response = await client.SendAsync(message);

if(response.IsSuccessStatusCode){
return true;
}else{
return false;
}
}
}

то, что я пытаюсь
private readonly Mock _mockHttpClientFactory;
private readonly Mock _mockHttpClient;

[Fact]
public void TestMethod_ValidHttpRequest_ReturnsTrue()
{
var httpClient = _mockHttpClient
.Setup(x => x.SendAsync(It.IsAny()))
.ReturnsAsync(new HttpResponseMessage()
{
StatusCode = HttpStatusCode.OK,
Content = new StringContent("[{'id':1,'value':'1'}]"),
});

var client = _mockHttpClientFactory.Setup(x => x.CreateClient()).Returns(httpClient); //DOESNT WORK

var service = new TestService(_mockHttpClientFactory);
var result = service.TestMethod("testdata");
Assert.True(result.Result)
}


Подробнее здесь: https://stackoverflow.com/questions/566 ... -framework
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Moq.raiseasync приводит к System.NullReferenceException moq.raise работает нормально
    Anonymous » » в форуме C#
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • Moq.raiseasync приводит к System.NullReferenceException moq.raise работает нормально
    Anonymous » » в форуме C#
    0 Ответы
    6 Просмотры
    Последнее сообщение Anonymous
  • Moq.raiseasync приводит к System.NullReferenceException moq.raise работает нормально
    Anonymous » » в форуме C#
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • Moq.raiseasync приводит к System.NullReferenceException moq.raise работает нормально
    Anonymous » » в форуме C#
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous
  • Как изменить реализацию метода глобального высмеиваемого класса на шутку?
    Anonymous » » в форуме Javascript
    0 Ответы
    31 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»