我有一个XCTestCase,它正在编写一些资产,如果成功的话,我想清理这些资产。我发现有一个静态tearDown()方法可以重写,它在测试用例结束时执行。我如何知道测试用例是否成功?

最佳答案

现在不推荐使用XCTestObserver,因此应该使用XCTestObservationCenter
您应该实现符合observerXCTtestObservation
XCTestObservationCenter.sharedTestObservationCenter().addTestObserver(observer)
苹果员工报价:
用于在测试运行期间通知进度的挂钩。
您可以在XCTestObservation.swift中找到如何处理testCaseDidFinish

func testCaseDidFinish(_ testCase: XCTestCase) {
    let testRun = testCase.testRun!
    let verb = testRun.hasSucceeded ? "passed" : "failed"
    // FIXME: Apple XCTest does not print a period after "(N seconds)".
    //        The trailing period here should be removed and the functional
    //        test suite should be updated.
    printAndFlush("Test Case '\(testCase.name)' \(verb) (\(formatTimeInterval(testRun.totalDuration)) seconds).")
}

10-08 15:34