В моем коде есть разделы (например, в AppDelegate.m), которые не следует компилировать для модульных тестов, например
#ifndef CONFIGURATION_TESTS
// Code that should not be compiled in the Unit Tests
#endif
Цели устанавливаются XCode, когда вы выбираете «добавить модульные тесты» при создании нового проекта.
В файле проекта я добавил флаг CONFIGURATION_TESTS в макросы препроцессора для встроенной цели MyAppTests, но не для цели MyApp.
Это был предложенный способ во многих сообщениях, которые я нашел.
Но это не работает, потому что (я предполагаю) цель MyAppTests имеет цель MyApp в качестве зависимости, и поскольку AppDelegate.m добавляется к цели MyApp, она компилируется с настройками сборки MyApp и, следовательно, CONFIGURATION_TESTS не определено.
В файлах юнит-теста макрос определен и ведет себя как ожидалось (поскольку тестовые файлы создаются только целевым объектом MyAppTests?)
Кто-нибудь знает, как это сделать, я думал, что это будет общая проблема ...