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