2017-06-05 32 views
0

我嘗試測試我的UIViewController當我設置標題:意外的零測試

var sut: FloorPlanVC! 

override func setUp() { 

    let storyboard = UIStoryboard(name: 「FloorPlan」, bundle: nil) 
    sut = storyboard.instantiateInitialViewController() as! FloorPlanVC 
    _ = sut.view 
} 

func testSetTitle() { 
    sut.title = 「Title」 //1 
    XCTAssertEqual(sut.navigationItem.title, 「Title」) //2 
} 

輸出1在控制檯上:

po sut.title //Title 
po sut.navigationItem.title //Title 

輸出2在控制檯上:

po sut.title //Title 
po sut.navigationItem.title //nil 
+0

輸出2當你打電話嗎?在輸出1之後? – KKRocks

+0

是的,剛好在1 –

+0

之後,這是因爲navigationItem沒有,如果你的控制器沒有嵌入tabBarViewController。 – KKRocks

回答

0

您現在面臨的問題與某些人對此問題提出的問題類似:

Changing navigation title programmatically

你的問題是在測試環境中,但我認爲你可以涉及到它。 我個人發現整個設置在測試環境中會導致您意想不到的行爲。看看我給你的鏈接中的答案,試試哪一個會工作,並讓我知道。 我打算只複製它們,但沒有意義,你可以點擊鏈接。