Xctest如何知道测试用例在套装完成之前通过/失败,这样我就可以在测试结束时更新测试周期

时间:2018-03-22 17:00:49

标签: xctest xctestcase

覆盖func setUp(){         super.setUp()

    continueAfterFailure = false

XCTestObservationCenter.shared.addTestObserver(观察者)

    XCUIApplication().launch()
    let observer = Observer() // your created observer class
    let observationCenter = XCTestObservationCenter.shared
    observationCenter.addTestObserver(observer)

}

override func tearDown() {

    super.tearDown()

下面是观察者类 但没有什么是原始的

我希望每个测试用例的测试用例ID和状态运行完毕,以便我将更新Jira或Zephyr中的状态

class Observer:NSObject,XCTestObservation {     var failedTC = 0

func testBundleWillStart(_ testBundle: Bundle) {
    print("test Bundle Started")
}

func testBundleDidFinish(_ testBundle: Bundle) {
    print("test Bundle Finished")
}

func testSuiteWillStart(_ testSuite: XCTestSuite) {
    print("test Suite Started")
}

func testSuiteDidFinish(_ testSuite: XCTestSuite) {
    print("test Bundle Ended")
}

private func testSuite(_ testSuite: XCTestSuite, didFailWithDescription description: String, inFile filePath: String?, atLine lineNumber: UInt) {
    print("test Suit failed information" + description)
}

func testCaseWillStart(_ testCase: XCTestCase) {
    print("test case Started")
}

func testCaseDidFinish(_ testCase: XCTestCase) {
    print("test case Finished")
}

private func testCase(_ testCase: XCTestCase, didFailWithDescription description: String, inFile filePath: String?, atLine lineNumber: UInt) {
    print("test case failed message" + description)

    var tmpMsgArr = description.components(separatedBy: ".---")
    let testcaseID = tmpMsgArr[1]

    print("------" + testcaseID)

   // yourmethodThatwillbeCalledWhenTCFail() // implement this method that you want to execute

    failedTC += 1
}

}

0 个答案:

没有答案
相关问题