gpt4 book ai didi

xcode - 获取在 Xcode UI 测试中执行的每个测试用例的结果

转载 作者:行者123 更新时间:2023-12-01 09:14:36 27 4
gpt4 key购买 nike

在我的 Xcode 测试套件中执行每个测试用例后,我需要测试状态。我知道观察者可以帮助实现它。但是如何在测试中使用它呢?

最佳答案

您走在正确的轨道上,并且可以通过 XCTestObservation 协议(protocol) (https://developer.apple.com/documentation/xctest/xctestobservation) 实现您想要做的事情。您可以在测试用例类中添加观察者,我建议在 setUp() 方法中执行此操作,因为它会在每个测试方法之前执行。

override func setUp() {
super.setUp()

continueAfterFailure = false

XCUIApplication().launch()

XCTestObservationCenter.shared.addTestObserver(UITestObserver())
}

为此,您应该实现一个符合 XCTestObservation 协议(protocol)的类,然后为感兴趣的方法提供您自己的实现,以执行您需要/想要的任何操作。在您的情况下,您可能希望为此方法提供一个实现...

optional public func testCase(_ testCase: XCTestCase, didFailWithDescription description: String, inFile filePath: String?, atLine lineNumber: Int)

下面是这个测试观察者类可能是什么样子的一个简单示例...

import XCTest

public class UITestObserver: NSObject, XCTestObservation {
public func testCase(_ testCase: XCTestCase,
didFailWithDescription description: String,
inFile filePath: String?,
atLine lineNumber: Int) {
print("failure description: \(description)")
print("failed test case: \(testCase)")
if let filePath = filePath {
print("failure at file path: \(filePath)")
}
print("failure at line: \(lineNumber)")
}
}

每当您的一个测试用例失败时,我提供的上面示例中的这个函数就会被调用,因此您不需要在测试用例类或方法中“做”任何事情。

希望这会有所帮助!

关于xcode - 获取在 Xcode UI 测试中执行的每个测试用例的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47882807/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com