xctest - 预处理器宏

时间:2014-06-18 10:07:53

标签: xcode xctest

是否可以在(测试)目标设置或测试.pch文件中定义宏,以便将其传递给整个应用程序?
或者是否有任何宏可用于检查(来自代码)我们是否正在运行测试?

例如:

#if TEST=1
  // do something
#else
  // do something else
#endif

我想要的原因是在测试期间跳过一些代码,断言等(每次运行测试时都不必在主应用程序.pch中更改#define)。

感谢。

1 个答案:

答案 0 :(得分:4)

看起来你可以用与Objective-C非常相似的方式做到这一点。 swift编译器使用-D命令开关。为了使其适应测试,我定义了仅在测试目标构建设置中想要的Literal。

说明:

Build settings for the Test Target -> 
      Swift Compiler Custom Flags -> 
         -DTEST (yes, including the -D prefix)

启用此代码:

// Objective-C and Swift
#if TEST
// Test only code version code
#else
// App only code
#endif

我在transitioning to swift上找到了本文的解决方案。