0

我有UINavigationController3 个控制器:

  • 房间

在此处输入图像描述

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为什么我从堆栈中弹出它仍然存在?

在此处输入图像描述

4

1 回答 1

0

由于 ViewController 是动画的,您是否尝试过等待几秒钟让它消失,而不是在点击按钮后立即进行测试?例如,您可以尝试

expectationForPredicate(NSPredicate(format: "exists == 1"), evaluatedWithObject: accountNavigationBar, handler: nil)
waitForExpectationsWithTimeout(defaultPredicateTestTimeout, handler: nil)
于 2015-11-03T18:38:41.337 回答