我有一个XCTestCase,它正在编写一些资产,如果成功的话,我想清理这些资产。我发现有一个静态tearDown()方法可以重写,它在测试用例结束时执行。我如何知道测试用例是否成功?
最佳答案
现在不推荐使用XCTestObserver,因此应该使用XCTestObservationCenter
。
您应该实现符合observer
的XCTtestObservation
。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).")
}