我有一个测试,该测试使用外部程序集访问我们正在测试的应用程序中的UI功能。如果UI处于不适当的状态,则此程序集将引发其自己的自定义类型的异常。
我已经建立了一个TestCleanup方法,该方法可以终止应用程序的进程(在TestInitialize启动它的同时),以便在测试运行完成后,UI以干净状态重新启动。
在常规条件下,此方法效果很好,但是,只要抛出引用程序集的异常,它就永远不会进入清除方法,而直接跳转到下一个测试。从测试本身引发的异常(如AssertFailedException)不会发生这种情况。我什至尝试从测试中抛出一个基本的Exception,然后它进入了cleanup方法。
最佳答案
如果在TestInitialize中未捕获到异常,则不会调用TestCleanup。