Xcode 5: тесты не выполняются
Я создал несколько тестовых примеров, и все они прошли... Это потому, что они не запускаются.
Из Xcode я получаю:
Test Suite 'All tests' started at...
Test Suite 'All tests' finished at...
Executed 0 tests, with 0 failures (0 unexpected) in 0.00 seconds
Проект (и unit test классы) успешно выполняется.
Во всех моих тестовых классах выбрано целевое членство MyApp_appTests. Производственные классы имеют выбранные цели MyApp_app и MyApp_appTests.
Я проверил настройки целевой сборки MyApp_appTests (загрузчик пакетов и тестовый узел).
Bundle Loader (Debug): $(BUILT_PRODUCTS_DIR)/MyApp.app/MyApp
Test Host (Debug): $(BUNDLE_LOADER)
Я импортировал SenTestingKit.framework(через "Цели построения фаз" Link Binary With Libraries ").
Все мои тесты начинаются с -(void)testThat...
Я также проверил несколько вопросов stackoverflow.com:
qaru.site/info/490407/...
qaru.site/info/490410/...
qaru.site/info/490412/...
и этот пост:
twobitlabs.com/2011/06/adding-ocunit-to-an-existing-ios-project-with-xcode-4/
Я не знаю, где искать... Любая помощь очень ценится!
Ответы
Ответ 1
Xcode 5 теперь используется XCTestCase, а не SenTest. Apple теперь поддерживает Unit Testing более непосредственно, включая собственную версию SenTest под названием XCTestCase. Кроме того, пользовательский интерфейс значительно улучшен, позволяя запускать отдельные тесты, тестовый Навигатор и больше не создавать тестовые файлы .h. Обратите внимание, что тестовые макросы не переименовываются с префиксом XC.
См. видео 4030 WWDC-13: "Тестирование в Xcode 5".
Если вы используете шаблон Xcode 5 для создания тестовой среды, проект будет включать тестовую цель и рабочий (и неудачный) тест.
Ответ 2
Для меня работала смена "Расширение Wrapper" от "октеста" до "xctest" в настройках сборки для целей тестирования
![enter image description here]()
Ответ 3
Попробуйте следующее:
- Чистые производные данные проекта
- Продукт > Очистка
- Запустите приложение
- Подождите, пока индексирование Xcode завершится.
К этому моменту тесты должны появиться на панели тестового навигатора
Ответ 4
Если вы создаете новую тестовую цель в Xcode 5+ и планируете использовать SenTestKit для модульных тестов, изменение настройки сборки Wrapper Extension вашей тестовой цели на "октесс" из значения по умолчанию "xctest" поможет выполнить тестовые примеры.
Ответ 5
У меня была эта проблема с Xcode 7.3, то, что сработало для меня, запускало приложение на устройстве один раз, а затем запускало тесты.