我有一个 XCTestCase 正在编写一些资产,如果成功的话我想清理它。我发现有一个静态 tearDown()方法,我可以覆盖它在测试用例结束时执行。我怎么知道测试用例是否成功?
答案 0 :(得分:2)
现在不推荐使用XCTestObserver,因此您应该使用XCTestObservationCenter
。
您应该实施符合observer
。{/ p>的XCTtestObservation
XCTestObservationCenter.sharedTestObservationCenter().addTestObserver(observer)
Apple的员工引用XCTestObservation.swift:
挂钩,以便在测试运行期间收到有关进度的通知。
您可以在Print Observer
中找到如何处理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).")
}
答案 1 :(得分:0)
XCTest
有一个属性testRun
,它会为您的测试返回XCTestRun
,其中包含hasSucceeded
属性。
http://masilotti.com/xctest-documentation/Classes/XCTestRun.html