当前测试用例成功/失败

时间:2016-05-26 15:09:23

标签: swift xctest

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

2 个答案:

答案 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