我的代码中有一些部分(例如在AppDelegate.m中),不应该为单元测试编译,比如
#ifndef CONFIGURATION_TESTS
// Code that should not be compiled in the Unit Tests
#endif
在创建新项目时选择“添加单元测试”时,Xcode会设置目标。 在项目文件中,我已将标志CONFIGURATION_TESTS添加到MyAppTests Built-Target的预处理器宏,但不添加到MyApp目标。
这是我发现的许多帖子中的建议方式。
但这不起作用,因为(我猜)MyAppTests目标将MyApp目标作为依赖项,并且因为AppDelegate.m被添加到MyApp目标,它将使用MyApp构建设置进行编译,因此,未定义CONFIGURATION_TESTS 。
在单元测试文件中,宏被定义并按预期运行(因为测试文件仅由MyAppTests目标构建?)
有谁知道这是怎么做的,我认为这将是一个常见的问题......