Модульное тестирование и UIA-автоматизация XCode4 - PullRequest
8 голосов
/ 31 марта 2011

Я хочу настроить тестирование в моей компании, но я немного не уверен, как лучше начать.

Я знаю, что могу использовать каркас для модульного тестирования, такой как OCUnit, GHUnit или SenTestingKit ... пока все хорошо. Я могу сделать цель, которая логические тесты мой проект, используя объекты Mock и т. Д.

Мне также известно об использовании UIAutomation и javascript для управления и тестирования графического интерфейса.

Итак, теперь, если я реализую довольно сложную функцию GUI, я бы хотел провести логический тест моего кода, а также протестировать GUI с помощью UIAutomation. Как мне объединить эти две методологии, или они должны рассматриваться отдельно, и в этом случае я должен предположить, что мне нужно написать два набора тестов на двух разных языках для полного проверка одна функция?

В дополнение, если кто-нибудь может предоставить хорошие ссылки для советов по началу тестирования на уже зрелой и не столь модульной кодовой базе, это было бы очень полезно.

Спасибо!

1 Ответ

4 голосов
/ 04 апреля 2011

UIAutomation основан на JavaScript. Тестовые случаи - это наборы файлов JavaScript, которые впоследствии выполняются Instruments.

Да, вы должны сделать это отдельно:

  1. Это совершенно другой язык (JS)
  2. Это выполняется не в Xcode-Build, а через инструменты
  3. Тесты с графическим интерфейсом отличаются от области тестирования модуля или логики Даже если есть некоторые сходства с логическими тестами. Также проверяется, правильно ли работает графический интерфейс.

Это видео может вам помочь. Потратьте час, и после этого вы сможете принять решение самостоятельно (сеанс UIAutomation).

http://developer.apple.com/videos/wwdc/2010/

Кстати: на данный момент не существует удовлетворительного способа автоматизации тестов UIAutomation (для логики и модульных тестов есть некоторые). Например, чтобы объединить их с непрерывной интеграцией кода. Есть дискуссии по этому поводу, но я пока не видел решения. В общем, вы можете немного поиграть с этим, но для серьезного тестирования UIAutomation по-прежнему не применимо:

  1. Без автоматизации тестирования
  2. Нет разделения тестовых случаев. Если в вашей хореографии произойдет сбой одного случая, все последующие тесты могут оказаться бесполезными.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...