【问题标题】:Xcode test : clean up code, even when stoppedXcode 测试:清理代码,即使停止
【发布时间】:2020-08-20 13:09:52
【问题描述】:

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

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

不幸的是,在这种情况下,tearDownWithError 没有被调用。

我怎样才能编写一段可以保证始终运行的代码,即使手动停止测试也是如此?

【问题讨论】:

    标签: ios xcode testing swift5 xcuitest


    【解决方案1】:

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

    【讨论】:

    • 我确实覆盖了tearDown,但是当手动按下“STOP”时它不会被调用。
    【解决方案2】:

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

    将精力集中在重新设计测试套件以在面对错过的清理时具有弹性可能会更有成效。在清理过程中您究竟需要做什么?

    【讨论】:

    • 感谢您的回答。在清理过程中,我需要创建一个附件。
    • 您将如何尝试为测试类安装信号句柄?
    • “创建附件”是什么意思?
    • 我的意思是创建一个 XCTAttachement。不过不要太担心,这与我的问题无关。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-28
    • 2018-01-19
    • 2020-07-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多