async void
модульные тесты не могут быть запущены в Visual Studio 2012:Почему не удается распознать единичные тесты «асинхронные»?
[TestClass]
public class MyTestClass
{
[TestMethod]
public async void InvisibleMyTestMethod()
{
await Task.Delay(1000);
Assert.IsTrue(true);
}
}
Если я хочу, чтобы пройти тест на асинхронный блок, метод испытания должен возвращать задачи:
[TestMethod]
public async Task VisibleMyTestMethod()
{
await Task.Delay(1000);
Assert.IsTrue(true);
}
Почему это так ? Не то, чтобы я абсолютно нуждался в методе тестирования async void
, мне просто интересно. Visual Studio 2012 не дает никаких предупреждений и ошибок при создании метода тестирования async void
, даже если он не сможет быть запущен ...
Это неправда. NUnit поддерживает тесты «async void» и как и почему их поддержка подробно описана в этой [ссылке] (http://simoneb.github.io/blog/2013/01/19/async-support-in- NUnit /). См. [Ответ] (http://stackoverflow.com/a/19319749/285199) ниже. – Anupam