Почему Mock возвращает NULL в Task.Run? [закрыто]C#

Место общения программистов C#
Ответить
Anonymous
 Почему Mock возвращает NULL в Task.Run? [закрыто]

Сообщение Anonymous »

Я пытаюсь издеваться над сервисом, которая называется внутри задачи. Run Threadpool, но по какой -то причине макет возвращает значение по умолчанию null вместо макетного значения.

Код: Выделить всё

[HttpPost("SendIt")]
public async Task SendIt()
{
Task.Run(async() => { await doSend(); });
return new OkObjectResult("");
}
public async Task doSend()
{
var result = _mockMeSvc.something();
return "";
}

//elsewhere
public static Mock MockMeSvc = new();

// elsewhere
builder.ConfigureServices(services =>
{
services.AddScoped(_ => MockMeSvc.Object);
}
< /code>
в тесте: < /p>
[Fact]
public async void TestIt()
{
MockMeSvc.Setup(mms => mms.something()).Returns("abc")
var rsp = await client.PostAsync($"/api/SendIt", new
StringContent(""));
}
Но по какой -то причине результат возвращается как null вместо ABC

Подробнее здесь: https://stackoverflow.com/questions/794 ... n-task-run
Ответить

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

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

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

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

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