Ios 使用XCEST UI测试确定应用程序是否已退出

Ios 使用XCEST UI测试确定应用程序是否已退出,ios,swift,xctest,Ios,Swift,Xctest,如果构建被视为无效(过期等),iOS Swift应用程序中的某个功能将退出该应用程序 如何使用XCTest确定应用程序是否已成功退出并将模拟器返回主屏幕 我试过一些显而易见的方法,比如 XCTAssertFalse(XCUIApplication().exists, "app should have quit") 及 如果我尝试在XUIApplication上执行任何操作,它将挂起。您可以在NSNotificationCenter中为UIApplicationIdentinterBackgro

如果构建被视为无效(过期等),iOS Swift应用程序中的某个功能将退出该应用程序

如何使用XCTest确定应用程序是否已成功退出并将模拟器返回主屏幕

我试过一些显而易见的方法,比如

XCTAssertFalse(XCUIApplication().exists, "app should have quit")


如果我尝试在XUIApplication上执行任何操作,它将挂起。

您可以在
NSNotificationCenter
中为
UIApplicationIdentinterBackgroundNotification
注册一个观察者,并且在您的测试中,如果发现生成已过期,则生成一个测试异常:

let expectation = expectationWithDescription("myDescription")

waitForExpectationsWithTimeout(10) { error in
}
在通知处理程序中:

func someHandler() {
    expectation.fulfill()
    //unregister the observer
}
这样,如果通知被发布,那么期望将得到满足,否则测试将失败。请确保仅在生成过期时设置此案例,否则如果未发布通知,则始终会失败

func someHandler() {
    expectation.fulfill()
    //unregister the observer
}