async void
Không thể chạy các bài kiểm tra đơn vị trong Visual Studio 2012:
[TestClass]
public class MyTestClass
{
[TestMethod]
public async void InvisibleMyTestMethod()
{
await Task.Delay(1000);
Assert.IsTrue(true);
}
}
Nếu tôi muốn kiểm tra đơn vị không đồng bộ, phương pháp kiểm tra phải trả về Tác vụ:
[TestMethod]
public async Task VisibleMyTestMethod()
{
await Task.Delay(1000);
Assert.IsTrue(true);
}
Tại sao nó như vậy? Không phải tôi nhất thiết phải có async void
phương pháp kiểm tra, tôi chỉ tò mò. Visual Studio 2012 không đưa ra cảnh báo cũng như lỗi khi bạn xây dựng một async void
phương pháp thử nghiệm mặc dù nó sẽ không thể chạy được ...
async void
các bài kiểm tra và cách thức và lý do hỗ trợ nó được nêu chi tiết ở một mức độ nào đó trong liên kết này . Xem câu trả lời bên dưới.