2015-02-19 4 views
0

Я пытаюсь запустить тестовый пример, который проверяет, что определенный триггер приводит к правильному pushViewController. Приложение делает все в порядке, при выполнении этого кода:Тестирование единицы измерения на ViewController

 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)") 

Что я могу proove по lookging на выходе:

currentTopVC: Optional(<AppMenu.MenuViewController: 0x7fdabae62860>) 
VC after Pushing: Optional(<AppMenu.ContributionsViewController: 0x7fdabada39a0>) 
No of VC: Optional(2) 

оригинальный «MenuViewController», который устанавливается в AppDelegate заменяется ContributionViewController.

Однако выполнение того же кода из XCTest не выполняется.

PushViewController просто игнорируется!

ответ

1

Я хочу дать решение право на вынос:

Вы не должны толкать ViewController с анимированный: истинный

Он должен быть анимированы: ложь.

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)") 
Смежные вопросы