Я пытаюсь настроить фиктивную функцию, но не могу вернуть правильные данные. Я получаю сообщение об ошибке:
Error CS1503 Argument 1: cannot convert from 'System.Net.Http.HttpResponseMessage' to 'System.Threading.Tasks.Task<System.Net.Http.HttpResponseMessage>'
Вот интерфейс, который я пытаюсь издеваться
public interface ICouchDbClients
{
Task<HttpResponseMessage> AuthenticatedQuery(Func<Task<HttpResponseMessage>> query, string name, HttpClient client);
}
Это установка, которую я пытаюсь
var httpResponseMessage = new HttpResponseMessage
{
StatusCode = HttpStatusCode.Created
};
mockStateFixture.MockCouchDbClient.Setup(x => x.AuthenticatedQuery(
It.IsAny<Func<Task<HttpResponseMessage>>>(),
NamedHttpClients.COUCHDB,
httpClient))
.Returns(httpResponseMessage);
Я такой тупой.. Я забыл, что это так просто, лол





Используйте ReturnsAsync, чтобы вернуть Task<T>, попробуйте следующее:
mockStateFixture.MockCouchDbClient.Setup(x => x.AuthenticatedQuery(
It.IsAny<Func<Task<HttpResponseMessage>>>(),
NamedHttpClients.COUCHDB,
httpClient))
.ReturnsAsync(httpResponseMessage);
это на самом деле то же самое, что и Returns(Task.FromResult(httpResponseMessage))
ReturnsAsync(httpResponseMessage);?