意外的零测试

问题描述:

我尝试测试我的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

您现在面临的问题与某些人对此问题提出的问题类似:

Changing navigation title programmatically

你的问题是在测试环境中,但我认为你可以涉及到它。 我个人发现整个设置在测试环境中会导致您意想不到的行为。看看我给你的链接中的答案,试试哪一个会工作,并让我知道。 我打算只复制它们,但没有意义,你可以点击链接。