1

XCUITest 的覆盖函数发生错误。我从来没有提到过 XCUITest。

错误是:“方法不会覆盖超类中的方法”。

当您将 Xcode 从版本 11.4 beta 2 更改为 11.3.1 并构建时,就会发生这种情况。我该怎么办?

import XCTest

class SampleAppUITests: XCTestCase {

    override func setUpWithError() throws {
        // Put setup code here. This method is called before the invocation of each test method in the class.

        // In UI tests it is usually best to stop immediately when a failure occurs.
        continueAfterFailure = false

        // In UI tests it’s important to set the initial state - such as interface orientation - required for your tests before they run. The setUp method is a good place to do this.
    }

    override func tearDownWithError() throws {
        // Put teardown code here. This method is called after the invocation of each test method in the class.
    }

    func testExample() throws {
        // UI tests must launch the application that they test.
        let app = XCUIApplication()
        app.launch()

        // Use recording to get started writing UI tests.
        // Use XCTAssert and related functions to verify your tests produce the correct results.
    }

    func testLaunchPerformance() throws {
        if #available(macOS 10.15, iOS 13.0, tvOS 13.0, *) {
            // This measures how long it takes to launch your application.
            measure(metrics: [XCTOSSignpostMetric.applicationLaunch]) {
                XCUIApplication().launch()
            }
        }
    }
}
4

1 回答 1

4

在发行说明中解释:

https://developer.apple.com/documentation/xcode_release_notes/xcode_11_4_beta_3_release_notes

当您使用 Xcode 11.3.1 或之前的版本时,您(模板)正在调用不存在的方法。使用可用性将setUpWithErrorand tearDownWithError(Swift 5.2) 替换为简单的setUpand tearDown(Swift 5.1)。

于 2020-03-17T00:41:41.857 回答