async void
модульные тесты нельзя запускать в Visual Studio 2012:
[TestClass]
public class MyTestClass
{
[TestMethod]
public async void InvisibleMyTestMethod()
{
await Task.Delay(1000);
Assert.IsTrue(true);
}
}
Если я хочу иметь асинхронный модульный тест, метод теста должен возвращать Task:
[TestMethod]
public async Task VisibleMyTestMethod()
{
await Task.Delay(1000);
Assert.IsTrue(true);
}
Почему это так? Не то чтобы мне абсолютно необходим async void
метод тестирования, мне просто любопытно. Visual Studio 2012 не выдает ни предупреждений, ни ошибок при создании async void
метода тестирования, даже если он не может быть запущен ...
async void
тесты, и в этой ссылке в некоторой степени подробно описано, как и почему это нужно поддерживать . См. Ответ ниже.