如何使用MSTesttestingasynchronous代码

我正在写一些超级简单的asynchronous代码。 只保存脱机线程的文件。

我想使用Microsoft Visual Studio Team System 2008中的MSTestunit testing框架来testing此代码。

我该怎么做呢?

我想简单地阻止testing方法,直到方法返回。 我可以设想一些方法来做到这一点,但我被吹走了没有任何最佳做法或辅助类。

我看到很多 Silverlight,但没有通用的。

Visual Studio 2012(以前称为“Visual Studio 11”) 引入了对asynchronoustesting的支持 。 它看起来像这样:

[TestMethod] public async Task FooTest() { var result = await SomeAsyncOperation(); Assert.IsTrue(someCondition); } 

不要直接调用System.IO方法,而是尝试使用SystemWrapper库。 然后在您的testing中,您可以根据需要嘲笑这些调用,将任何您喜欢的东西退还给您的testing,包括错误条件,并validation您的逻辑是否按预期工作。

如果你想看一个例子,看看这个博客文章,展示如何使用RhinoMocks。