我有一个测试,它使用外部程序集来访问我们正在测试的应用程序中的UI功能.如果UI未处于适当的状态,则此程序集将抛出自己的自定义类型的异常.
我已经设置了一个TestCleanup方法来杀死应用程序的进程(当TestInitialize启动它时),这样在测试运行完成后,UI将以干净状态重新启动.
这在常规条件下工作得很好,但是,每当抛出引用程序集的异常时,它就永远不会进入清理方法并直接跳到下一个测试.从测试本身抛出的异常(如AssertFailedException)不会发生这种情况.我甚至尝试从测试中抛出一个基本的Exception,并且它得到了清理方法.