【Win10】单元测试中捕获异步方法的指定异常
温馨提醒:本文需要知道什么是单元测试才能阅读。
在之前 WPF、ASP.NET 中,单元测试要捕捉指定异常,我们是通过 ExpectedExceptionAttribute 来实现的。如下图:
但是,在 UWP 的单元测试项目中,是没有 ExpectedExceptionAttribute 的(没想到不同平台,M$ 连单元测试的 API 都改-_-|||)。那难道只能写个 try-catch,然后检测 Exception 类型是否符合吗?这样写起来未免有些繁琐了。最终,我在另一个命名空间发现了另一个 Assert 类。。。
Microsoft.VisualStudio.TestPlatform.UnitTestFramework.AppContainer.Assert。有够长的。。。然后这个类就只有 ThrowsException 这个方法(它有三个重载)。三个重载第一个参数都是 Func<Task> 类型,里面就可以执行我们需要测试的异步方法了。