Есть ли у кого-нибудь пример использования unit test метода асинхронизации в приложении Windows 8 Metro, чтобы убедиться, что он выбрал требуемое исключение?
Для класса с асинхронным методом
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;
}
}
Я хочу написать тестовый метод, используя новую конструкцию Async.ExpectsException. Я пробовал: -
[TestMethod]
public void DivideTest1()
{
Assert.ThrowsException<DivideByZeroException>(async () => { int Result = await AsyncMathsStatic.Divide(4, 0); });
}
но, конечно, тест не ждет завершения асинхронного метода и, следовательно, приводит к неудачному тесту, что исключение не было выбрано.