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 に答える