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
테스트를 지원하며이를 지원하는 방법과 이유는이 링크에 어느 정도 자세히 설명되어 있습니다 . 아래 답변을 참조하십시오 .