如何运行一次 swift XCTest 拆解

reu*_*sey 1 ios-ui-automation xctest swift xcode-ui-testing xctestcase

我正在使用 xcode 8.3.3,swift,并且我试图让tearDown 方法仅运行一次。

我使用此处提供的解决方案启动 应用程序一次:XCTestCase not launch application in setUp class method

在tearDown 方法中,我想注销应用程序。我只想做一次。

XCTest文档有一个类tearDown()方法,但是当我尝试使用它时 - 它不再能够访问应用程序?:https: //developer.apple.com/documentation/xctest/xctestcase/understand_setup_and_teardown_for_test_methods

这就是我在tearDown方法中得到的所有内容,因此它无法再访问应用程序上的任何元素:

在此输入图像描述

如何在所有测试结束时仅运行一次tearDown 中的代码?

Tit*_*eul 5

你可以做这样的事情

import XCTest

class TestSuite: XCTestCase {

    static var testCount = testInvocations.count

    override func setUp()
    {
        super.setUp()

        TestSuite.testCount -= 1
    }

    override func tearDown()
    {
        if TestSuite.testCount == 0 {
            print("Final tearDown")
        }

        super.tearDown()
    }

    func testA() {}
    func testB() {}
    func testC() {}
}
Run Code Online (Sandbox Code Playgroud)