2015-11-17 33 views
2

如果构建被认为是无效的(过期等),我的iOS Swift应用程序中的某个函数将退出应用程序。确定应用程序是否已经退出使用XCTest UI测试

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

我尝试了明显的方式像

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

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

,如果我尝试做XCUIApplication它挂起的任何操作。

回答

1

您可以UIApplicationDidEnterBackgroundNotification并在测试中,注册在NSNotificationCenter观察员如果构建被发现是过时的,做一个测试例外:

let expectation = expectationWithDescription("myDescription") 

waitForExpectationsWithTimeout(10) { error in 
} 

,并在通知处理程序:

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

通过这种方式,如果发布通知,期望将被满足,否则测试将失败。如果构建版本过期,请务必设置此案例,否则如果未发布通知,它将始终失败。

相关问题