Настройте TestProject с XCTest с двумя тестовыми целями для iOS и OSX и общими модульными тестами.

Я хотел бы иметь один проект для модульного тестирования библиотеки, которая выполняет модульные тесты в Mac OS X и iOS в двух отдельных тестовых целях в одном проекте Xcode. Файлы модульного теста должны быть общими.

Кажется, это невозможно, или не предназначено для работы, или иным образом выявляет ошибку:

Хотя можно запустить полный модульный тест для каждой iOS и Mac OS X (с помощью команды Продукт -> Тест), невозможно запустить отдельные методы тестирования, щелкнув ромб в канаве:

введите здесь описание изображения

При этом Xcode открывает лист ошибок, сообщая:

Назначение запуска Мой 64-разрядный Mac не подходит для выбранных вами тестов.

Пожалуйста, выберите место запуска, которое поддерживает тесты, которые вы хотите выполнить.

введите здесь описание изображения

Я полагал, что проблема заключается в том, что в одном проекте с двумя целевыми объектами общие файлы модульного теста должны быть связаны с тестовыми целевыми объектами iOS и Mac OS X. То есть «целевое членство» для конкретного файла модульного теста устанавливается для цели iOS и MacOSX.

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

Кому-нибудь удалось заставить это работать? Что может быть альтернативным решением?


person CouchDeveloper    schedule 25.09.2013    source источник
comment
У меня такая же проблема, поэтому я просто запускаю тест из тестового навигатора (CMD+5)   -  person Bryan Chen    schedule 07.10.2013
comment
@xlc Спасибо за эту информацию! :) Это фактически запускает отдельные тесты. Тем не менее, после того, как тест был запущен, соответствующие бриллианты в желобе не будут обновляться, чтобы отражать статус этого теста (это незначительная проблема, но все же стоит отчета)   -  person CouchDeveloper    schedule 07.10.2013
comment
Та же проблема здесь. Это также сводит меня с ума, потому что эта кнопка в желобе была бы оооочень приятной. Об ошибке также сообщается здесь: cocoanetics.com/2013/09/ rdar://15085316   -  person charles    schedule 11.10.2013
comment
Похоже, что это не исправлено и в Xcode6 Beta5. облом.   -  person Z S    schedule 20.08.2014
comment
Все еще не работает в Xcode7 Beta5   -  person Neil    schedule 20.08.2015
comment
Все еще сломан в 7.2.1.   -  person CouchDeveloper    schedule 12.02.2016
comment
Кажется, исправлено в 7.3 beta2 и beta3   -  person CouchDeveloper    schedule 25.02.2016


Ответы (1)


Это исчезнет, ​​если вы удалите все пользовательские записи для настройки сборки архитектур (ARCHS) в основной цели и тестовой цели для каждой платформы. Тогда будет работать только настройка сборки OSX/IOS по умолчанию.

Обратите внимание, что когда вы переключаетесь между схемами OSX и IOS, вам сначала нужно дождаться, пока индексатор не завершится, и вам может сначала потребоваться запустить все тесты для платформы. После этого вы можете хотя бы запустить одиночный тест из Навигатора тестов. Похоже, Xcode иногда все еще имеет проблемы с отображением кнопки встроенного теста исходного кода. Хотя возможность запустить одиночный тест есть.

person berbie    schedule 28.01.2014