2016-12-13 13 views
0

私は筆記試験では新しいです。私は、タイトル "0"でタップされたボタンのテストを書こうとしました。タップした後、タイトルは "1"に変わる必要があります。テスト機能は以下の通りです:UTTestでXCTAsssertEqualが失敗しました

私は「UIテストの失敗 - が見つかりません一致 『というエラーを取得する「newScore」がライン上で
func testTapNumberButtonIncrementsScore() { 
    XCUIApplication().buttons["0"].tap() 
    let newScore = XCUIApplication().buttons["1"].label 
    XCTAssertEqual(newScore, "1") 
} 

1』ボタン」

ボタンのタイトルが上の変更されていないようですタップこのボタンの@IBActionでボタンをタップすると、ボタンのタイトルが変更されました。しかし、もし私が 'newScore'という行にブレークポイントを保持し、いつか待って続けると、テストの成功。

答えて

2

ラベルが "1"のボタンを待つ必要があります。

XCUIApplication().buttons["0"].tap() 
let newScoreButton = XCUIApplication().buttons["1"] 
let exists = NSPredicate(format: "exists == 1 || enabled == 1") 
expectation(for: exists, evaluatedWith: newScoreButton, handler: nil) 
waitForExpectations(timeout: 50) { error in 
    if error != nil { 
      assertionFailure("The newScoreButton doesn't exists.") 
    } 
} 
newScore = newScoreButton.label 
XCTAssertEqual(newScore, "1") 
関連する問題