Xcode 4: Тесты приложений в iOS Simulator - PullRequest
3 голосов
/ 05 ноября 2011

Меня смущает способность Xcode4 запускать тесты приложений в iOS Simulator.

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

Если последнее верно, пожалуйста, включите ссылку, чтобы документировать это.Я не смог ничего найти.

В любом случае, из Руководство по разработке приложений для iOS: Приложения для модульного тестирования :

Listing 6-2 Transcript of an iOS Simulator-based application unit-test run

, а также

Note: Although Xcode can run logic and application unit tests in simulators, Xcode cannot run logic unit tests on devices. Therefore, if you include and have active both types of unit tests in a scheme, you will not be able to use that scheme to run unit tests on devices.

Проблема заключается в том, что симулятор не предоставляет доступ к UIApplicationDelegate.Вот пример теста для демонстрации:

- (void) testAppDelegate { id yourApplicationDelegate = [[UIApplication sharedApplication] delegate]; STAssertNotNil(yourApplicationDelegate, @"UIApplication failed to find the AppDelegate"); }

Этот тест не проходит в моем проекте.Кстати, мои логические тесты работают нормально.

1 Ответ

3 голосов
/ 07 ноября 2011

Плохо, я говорил слишком рано. Я пробовал это решение , и оно работает. Другими словами, теперь я могу запускать тесты логики и тесты приложений из iOS Simulator.

Обязательно установите оба параметра bundle loader И test host в настройках сборки для целей тестирования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...