How does one test async code using MSTest
I'm writing some super simple async code. Just saving a file off-thread.
I'd like to test this code using the MSTest unit test framework in Microsoft Visual Studio Team System 2008.
How do I do this?
I'd like to simple block the test method until the method returns. I can imagine some ways to do this, but I'm blown away there aren't any best practices or helper classes around this.
I see a lot for Silverlight, but nothing generic.
Solution 1:
Visual studio 2012 (previously known as "Visual Studio 11") introduced support for async tests. It looks like this:
[TestMethod]
public async Task FooTest()
{
var result = await SomeAsyncOperation();
Assert.IsTrue(someCondition);
}
As noted in the comments, the Task
return type is important. It won't work if you declare the method as returning void
.