我有UINavigationController
有3个控制器:
let wishlistsNavigationBar = app.navigationBars["wishlistsNavigationBar"]
let accountNavigationBar = app.navigationBars["accountNavigationBar"]
let addWishlistNavigationBar = app.navigationBars["addWishlistNavigationBar"]
现在我执行测试:
accountButton.tap()
XCTAssertTrue(accountNavigationBar.exists) //true
backFromAccountButton.tap()
XCTAssertFalse(accountNavigationBar.exists) //true, test failed, but it should not exists
XCTAssertTrue(wishlistsNavigationBar.exists) //false, test failed, but it should exists
让我们看看。为什么我从堆栈中弹出它后仍然存在accountNavigationBar
?
答案 0 :(得分:0)
由于ViewController已设置动画,您是否尝试等待几秒钟才能消失,而不是在点击按钮后立即进行测试?例如,您可以尝试
expectationForPredicate(NSPredicate(format: "exists == 1"), evaluatedWithObject: accountNavigationBar, handler: nil)
waitForExpectationsWithTimeout(defaultPredicateTestTimeout, handler: nil)