如果构建被视为无效(过期等),我的iOS Swift应用程序中的某个功能将退出该应用程序。
如何使用XCTest确定应用是否已成功退出并将模拟器返回主屏幕?
我尝试过像
这样的明显方法XCTAssertFalse(XCUIApplication().exists, "app should have quit")
和
XCTAssertFalse(XCUIApplication().enabled, "app should have quit")
如果我尝试在XCUIApplication上执行任何操作,它就会挂起。
答案 0 :(得分:1)
您可以在NSNotificationCenter
UIApplicationDidEnterBackgroundNotification
注册一个观察者,在测试中,如果发现版本已过期,请进行测试例外:
let expectation = expectationWithDescription("myDescription")
waitForExpectationsWithTimeout(10) { error in
}
并在您的通知处理程序中:
func someHandler() {
expectation.fulfill()
//unregister the observer
}
如果发布通知,则会满足期望,否则测试将失败。如果构建已过时,请务必仅设置此案例,否则如果通知未发布,则始终会失败。