unit testing资源管理器不显示城域应用程序的异步unit testing

不确定这是一个已知问题。 我正在使用VS2012 RC(Ultimate)和Win8 Release Preview。 我创建了一个unit testing库(metro style app),并编写了一个unit testing,其中包括async / await关键字。 但是,当我编译unit testing项目时,unit testing资源管理器不会显示我写的测试。 如果我排除了async / await关键字,那么unit testing资源管理器会出现在我刚写的测试中。 有没有人以前遇到过这个,还是仅仅是我?

[TestClass] public class UnitTest1 { [TestMethod] public async void SomeAsyncTest() { var result = await StorageFile.GetFileFromPathAsync("some file path"); } } 

asyncunit testing方法必须返回Task ,而不是void

那是因为async void方法很难跟踪:unit testing库没有简单的方法可以发现测试已经完成。 (这很难,但我认为这并非不可能。你可以通过使用自定义的SynchronizationContext来实现这一点。)