В моем коде есть разделы (например, в 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?)
Кто-нибудь знает, как это сделать, я подумал, что это обычная проблема. ..