KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
Does anyone have an example of how to unit test an async method in a Windows 8 Metro application, to ensure that it throws the required exception? Given a class with an async method public static class AsyncMathsStatic { private const int DELAY = 500; public static async Task<int> Divide(int A, int B) { await Task.Delay(DELAY); if (B == 0) throw new DivideByZeroException(); else return A / B; } } I want to write a test method using the new Async.ExpectsException construction. I've tried :- [TestMethod] public void DivideTest1() { Assert.ThrowsException<DivideByZeroException>(async () => { int Result = await AsyncMathsStatic.Divide(4, 0); }); } but of course the test doesn't wait for the async method to complete, and so results in a failed test that the exception hasn't been thrown.
Tags (comma-separated)
Save Edits
Cancel