Swift 将单元测试推送到ViewController

Swift 将单元测试推送到ViewController,swift,xctest,Swift,Xctest,我正在尝试运行一个测试用例,以验证某个触发器是否指向正确的pushViewController。在执行以下代码时,应用程序一切正常: let testController = ContributionsViewController( nibName: "ContributionsViewController", bundle: nil) println("currentTop

我正在尝试运行一个测试用例,以验证某个触发器是否指向正确的pushViewController。在执行以下代码时,应用程序一切正常:

        let testController = 
            ContributionsViewController(
                nibName: "ContributionsViewController",
                bundle: nil)
        println("currentTopVC: \(navigationController?.topViewController)")
        navigationController?.pushViewController(testController, animated: true)
        println("VC after Pushing: \(navigationController?.topViewController)")
        println("No of VC: \(navigationController?.viewControllers.count)")
我可以通过查看输出来证明:

currentTopVC: Optional(<AppMenu.MenuViewController: 0x7fdabae62860>) 
VC after Pushing: Optional(<AppMenu.ContributionsViewController: 0x7fdabada39a0>) 
No of VC: Optional(2)
currentTopVC:可选()
推送后的VC:可选()
VC编号:可选(2)
AppDelegate中设置的原始“MenuViewController”被ContributionViewController替换

但是,从XCEST执行相同的代码失败


pushViewController被忽略

a我想马上给出解决方案:

不能使用动画:true来推送viewcontroller

必须设置动画:false

let testController = 
            ContributionsViewController(
                nibName: "ContributionsViewController",
                bundle: nil)
        println("currentTopVC: \(navigationController?.topViewController)")
        navigationController?.pushViewController(testController, animated: false)
        println("VC after Pushing: \(navigationController?.topViewController)")
        println("No of VC: \(navigationController?.viewControllers.count)")