XCTestCase 未在 setUp class 方法中启动应用程序

XCTestCase not launching application in setUp class method

我正在使用 XCode 8 和 XCTestCase。我创建了一个 class setUp 函数,在所有测试之前设置为 运行,另一个设置为在每个测试用例之前设置为 运行。

我希望应用程序在所有测试用例之前启动一次。如果我在 class 设置中使用启动,它永远不会被执行。如果我在每次测试前使用 运行 设置中的启动,它会启动测试。

它打印:

在 CLASS 设置中

结束CLASS设置

设置中

在测试方法中

但应用程序从未启动。如果我在第二个设置中取消注释启动应用程序的行,它将启动。

如何让应用程序在我的测试中的所有测试之前启动一次class?

我遇到了同样的问题,并通过以下方式解决了

class MyTestCase: XCTestCase {

    static var app: XCUIApplication?

    override func setUp() {
        super.setUp()

        if MyTestCase.app == nil {
            MyTestCase.app = XCUIApplication()
            MyTestCase.app!.launch()
        }
    }

    // Tests...
}

这只会在第一次调用 setUp 方法时启动应用程序。