我在我的代码(例如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目标构建)
有人知道这样做,我以为这将是一个常见的问题…