Я пытался настроить маршрутизатор для навигации вправо Viewcontroller. Когда я называю это в симуляторе, он работает нормально.Тестирование pushViewController в Swift
BUT: Когда я пытаюсь проверить результат этого перехода через свойство topViewController или представленное свойствоViewController моего контроллера NavigationController, я всегда получаю каждый Viewcontroller, но не правильный.
Мой метод выглядит следующим образом:
func navigateToViewController(_ viewController: UIViewController, animated: Bool) {
self.pushViewController(viewController, animated: animated)
}
Как я уже сказал. Он отлично работает в симуляторе, но я бы хотел его протестировать. Каждый раз, когда я называю это, ViewController правильно установлен. Но результат теста - это совсем другой контроллер.
Когда я утверждаю, что topViewController или представленViewController должен быть HomeViewController, я всегда получаю другой ViewController в качестве результата.
XCTAssertTrue(self.sut.topViewController is HomeViewController,
"The TopViewController should be set to the HomeViewController but instead: \(self.sut.topViewController)")
Как это могло быть и как я могу это решить?
Большое спасибо.
С уважением
Nathalie
Вы хотите провести единичный тест или тест пользовательского интерфейса? –
Это должен быть модульный тест для моего маршрутизатора. Итак, все верно, включая представленный ViewController. – Maggy
Похоже, ваш класс является подклассом или расширением NavigationController. Не могли бы вы поделиться с ним немного больше своего интерфейса? –