Рассмотрим этот модульный тест клиента API с асинхронным индексом функций :
public async Task TestServiceError()
{
var client = GetMockClient("{RETURN}", System.Net.HttpStatusCode.BadRequest);
await Should.ThrowAsync(async () => await client.Index());
}
< /code>
Мне остается интересно, какова будет разница, не используя асинхроpublic void TestServiceError()
{
var client = GetMockClient("{RETURN}", System.Net.HttpStatusCode.BadRequest);
Should.Throw(async () => await client.Index());
}
< /code>
или < /p>
public Task TestServiceError()
{
var client = GetMockClient("{RETURN}", System.Net.HttpStatusCode.BadRequest);
await Should.ThrowAsync(() => client.Index());
}
< /code>
Может быть, это лучше всего? Поскольку есть задача возвращается из index и ожидание перед await, что задание ? Бросок синхронно, и ожидание делается в аргументе делегата. Кроме того, это просто модульный тест с коротким живым кодом, называемым один раз.await Should.ThrowAsync(async () => await client.Index());
await Should.ThrowAsync(async () => await client.FindByODLTest("order", "dealer", "lab"));
await Should.ThrowAsync(async () => await client.RegisterAsync(new()));
// etc.
Подробнее здесь: https://stackoverflow.com/questions/797 ... unit-tests