Я пытаюсь написать модульный тест, используя Moq и xunit.В этом тесте мне нужно смоделировать два вызова httpClient.
Я пишу модульные тесты для API dotnetcore.В моем API я должен сделать 2 HTTP-вызова другому API, чтобы получить необходимую информацию.- при первом вызове я получаю токен jwt из этого API.- во втором вызове я сделал вызов GetAsync, используя токен, который я получаю при первом вызове, чтобы получить необходимую мне информацию.
Я не знаю, как это сделать, чтобы высмеивать эти два разных вызова.В этом коде я могу смоделировать только один вызов httpClient
var handlerMock = new Mock<HttpMessageHandler>(MockBehavior.Strict);
handlerMock
.Protected()
// Setup the PROTECTED method to mock
.Setup<Task<HttpResponseMessage>>(
"SendAsync",
ItExpr.IsAny<HttpRequestMessage>(),
ItExpr.IsAny<CancellationToken>()
)
// prepare the expected response of the mocked http call
.ReturnsAsync(new HttpResponseMessage()
{
StatusCode = HttpStatusCode.BadRequest,
Content = new StringContent(JsonConvert.SerializeObject(getEnvelopeInformationsResponse), Encoding.UTF8, "application/json")
})
.Verifiable();
Знаете ли вы, как я могу получить два разных вызова и получить два разных HttpResponseMessage?