Как удалить тестовый класс Xcode Swift из тестового навигатора?

Навигатор Xcode Test отображает список классов тестовых примеров.

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

Я пробовал много типичных подходов, таких как нажатие на удаление или поиск значка "-" или "Удалить", или поиск справки в документации Apple Xcode.

Я нашел это обходное решение:

  • В навигаторе проекта удалите файл из проекта и удалите файл.

  • Закройте Xcode и запустите его. Навигатор тестирования, похоже, теряет контроль над тестовыми классами и тестовыми примерами и показывает нулевые элементы.

  • Запустите тесты. Навигатор тестирования, похоже, перестраивает список тестовых классов и тестовых примеров.

Если это все еще не работает, попробуйте эти...

Удалить исходные данные Xcode:

  • Меню Xcode → Настройки → Значок "Местоположения" → "Производные данные".

  • Нажмите на маленькую стрелку серого круга; это открывает Finder и показывает папку DerviedData.

  • Удалить всю папку.

Rebuild:

  • Меню продукта → Очистить.

  • Меню продукта → Сборка.

Есть ли более простой способ для достижения цели удаления тестового класса? В идеале без необходимости перезапуска Xcode или восстановления проекта и т.д.?

Похожие проблемы: Как удалить тестовые примеры Xcode из окна тестового примера?

Я использую Xcode 6.3 и Swift 1.2, если это помогает знать.

Изменить: В комментариях @CouchDeveloper указывает официальную заметки Xcode 6.3, в которых описывается известная ошибка # 20373533:

Тесты Swift не обнаруживаются автоматически в этом выпуске Xcode. Тестовые аннотации в боковой панели редактора исходного кода не отображаются, а тестовый навигатор и таблица тестов в тестовом действии листа схемы будут пустыми....

Спасибо за этот вопрос за любое решение или лучшее обходное решение. Любое обходное решение прекрасно, например, с использованием графического интерфейса Xcode или с помощью командной строки xcodebuild или любой оболочки script, которая блокирует файлы проекта.

Ответ 1

Используя Xcode 6.2, мне оставалось только переключиться на Навигатор проекта, выбрать файл и нажать "Удалить". Затем я нажал кнопку "Удалить ссылку" в появившемся диалоговом окне подтверждения. После этого тесты в этом файле немедленно исчезли из тестового навигатора. Добавив файл обратно, тесты снова появились.

Мне не нужно было удалять папку с производными данными, перезапускать Xcode и т.д.

Добавление файла в проект снова мгновенно восстановило тесты в тестовом навигаторе.

Это, безусловно, желаемое поведение, и похоже, что он сломан в Xcode 6.3, но, возможно, снова исправлен в 6.3.1. Таким образом, реальный ответ может заключаться в том, что вам нужно обновиться до 6.3.1 (или перейти на 6.2).

До:

before filesbefore tests

После того, как:

after filesafter tests

Ответ 2

Вы можете легко добавлять и удалять тесты в проект, используя флажок "Назначение класса". Найдите файл класса в Навигаторе проектов и выберите его, затем в области "Утилиты" щелкните "Инспектор файлов", и вы увидите флажок для целевого членства. Вы можете включать и выключать его. target membership

Ответ 3

Если вы хотите удалить только один тестовый класс, вы можете щелкнуть по имени файла в Навигаторе проектов и нажать "Удалить" и "Переместить в корзину".

Если вы хотите удалить весь комплект тестирования, щелкните название своего проекта в Навигаторе проектов. Затем выберите целевую аудиторию. Нажмите кнопку минус (-) внизу, чтобы удалить ее.

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

Хорошей идеей является тестирование модулей (и тестирование пользовательского интерфейса) в ваших проектах. Поэтому, если вы хотите добавить их обратно, просто нажмите кнопку "+" (+).

См. также