XCTest для существующего проекта

У меня большой (около 700 модулей) проект iOS. Теперь мне нужно провести модульные тесты для существующего кода (до того, как мы его не использовали). Я добавил новую тестовую цель XCTest для своей цели и начал писать свой первый тест. Но после компиляции у меня возникли ошибки ссылки, потому что модули из моего проекта не были включены в тестовую цель. Включил ли я все свои модули в тестовую цель? Или есть более простой способ сделать тестовую мишень?


person Siarhei Fedartsou    schedule 10.01.2014    source источник
comment
Возможный дубликат Добавление модульных тестов в уже существующий проект?   -  person TechSeeko    schedule 24.05.2017


Ответы (1)


Файлы приложения НЕ нужно включать в целевые объекты XCTest. В список «Источники компиляции» для вашей цели XCTest должны быть включены только тестовые файлы.

Следуйте инструкциям Apple, чтобы добавить XCTest в свой проект.

Убедитесь, что в целевом объекте приложения для параметра компилятора «Символы, скрытые по умолчанию» установлено значение НЕТ.

Здесь - это сообщение в блоге со скриншотами, если вы застряли!

person HackaZach    schedule 07.03.2014
comment
Красиво, абсолютно красиво. Это избавило меня / мою компанию от множества головных болей, так как мы ранее добавляли каждый исходный файл в тестовую цель. Эта проблема возникла, когда я заметил, что некоторые объекты в наших модульных тестах не прошли базовый isMemberOfClass: тест в isEqual:. Несмотря на то, что два объекта, проверяемые на равенство, были созданы из одного и того же исходного файла, они были получены из двух разных скомпилированных источников: одного из тестируемого проекта и одного из проекта модульного тестирования. - person Richard Shin; 02.05.2014
comment
Ссылка не работает. Я предполагаю, что это обновленная ссылка: developer.apple. ru / library / ios / documentation / ToolsLanguages ​​/ - person Dermot; 15.06.2015