Тестирование представления контроллера представления

я пишу книга о разработке iOS через тестирование со Свифт. Это не традиционная книга, это в основном только код. Если вы похожи на меня и редко читаете сообщения в блогах, а скорее просматриваете код, эта книга для вас.

Допустим, нам нужно проверить, вызывает ли действие представление контроллера представления. Тест выглядит так:

func test_presentationOfViewController() {
  
  let window = UIWindow(frame: CGRect(x: 0, y: 0, width: 300, height: 300)) 
  
  window.rootViewController = sut 
  window.makeKeyAndVisible() 
  
  
  sut.showNext() 
  
  
  XCTAssertTrue(sut.presentedViewController is DetailViewController)
}

Сначала мы должны установить контроллер представления (sut), который представляет другой контроллер представления как rootViewController окна. Затем нам нужно сделать окно ключевым окном. Таким образом, представление контроллера представления добавляется в иерархию представлений. Если мы пропустим этот шаг, никакой другой контроллер представления не сможет быть представлен поверх этого контроллера представления.

Далее запускается презентация. Как это делается, зависит от тестируемого кода. Для простоты я предполагаю, что существует метод showNext() который запускает презентацию.

В конце мы утверждаем, что представленный контроллер представления имеет ожидаемый тип. В зависимости от представленного контроллера представления мы также можем утверждать, что ожидаемый элемент (пользователь, точка интереса, твит и т. д.) был передан ему.

Это все. Простой. Сложность заключается в том, чтобы не забыть добавить тестируемый контроллер представления в качестве корневого контроллера представления к окну и сделать окно ключевым окном.

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *