XCTestCase not launching application in setUp class method

不想你离开。 提交于 2019-12-08 01:36:22

问题


I am using XCode 8 and XCTestCase. I created a class setUp function to be ran once before all tests, and the other setUp to be ran before each test case.

I want the application to be launched once before all test cases. If I use the launch in the class setUp, it never gets executed. If I use the launch in the setUp that is ran before each test, it does launch the test.

It prints:

IN CLASS SETUP

END CLASS SETUP

IN SETUP

IN TEST METHOD

But the application never gets launched. If I uncomment the line to launch the application in the second setUp, it will get launched.

How can I have the application be launched once before all the tests in my test class?


回答1:


I faced the same issue and solved it the following way

class MyTestCase: XCTestCase {

    static var app: XCUIApplication?

    override func setUp() {
        super.setUp()

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

    // Tests...
}

This will only launch the application at the first time the setUp method is called.



来源:https://stackoverflow.com/questions/45021466/xctestcase-not-launching-application-in-setup-class-method

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!