覆盖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
}
}