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