Xcode测试:即使停止也可以清理代码

问题描述

我正在运行一些xcode测试(使用XCTest / XCUITest)。

即使在手动停止测试(通过xcode中的方形停止按钮)的情况下,我也需要在每次测试结束时进行一些清理。

不幸的是,在这种情况下,未调用tearDownWithError。

即使编写了手动停止的测试,我如何编写可以保证始终运行的代码

解决方法

您是否已经尝试覆盖tearDown()?我认为这会有所帮助

,

您很可能不会。停止按钮基本上将SIGKILL发送到正在运行的测试套件。虽然您可以尝试安装信号处理程序来拦截SIGKILL并进行清理,但我希望这样做很难可靠地完成。

将精力集中在重新设计测试套件上可能会更加富有成果,以便在清理遗漏的情况下具有弹性。您到底需要做什么?