Есть ли способ проверить объект запроса, переданный в HttpClient.PostAsJsonAsync. Объект запроса создается внутри метода, подлежащего модульному тестированию. Поэтому мне нужно убедиться, что объект запроса создан с правильными значениями.
Я попробовал следующее и ожидаю проверить объект searchrequest, сравнив значения, как показано ниже.
public void Test(){
//Arrange
//ACT
await _myservice.someMethodToTest(criteria);
handlerMock.Protected().Verify(
"SendAsync",
Times.Exactly(1), // we expected a single external request
ItExpr.Is(req =>
req.Method == HttpMethod.Post // we expected a POST request
),
ItExpr.IsAny(),
ItExpr.Is(r => r.PublishedDateStart == publishedDateStart) // this doesn't work
);
}
//Method to be tested
public void someMethodToTest(Criteria criteria){
// build some complext request from criteria
var searchRequest = new searchRequest{
}
var searchResponse = await httpClient.PostAsJsonAsync(url, searchRequest);
//other code
}``
Подробнее здесь: https://stackoverflow.com/questions/787 ... sjsonasync