禁用单元测试的一些代码行

时间:2013-11-21 08:58:32

标签: ios unit-testing xcode5 kif

我遇到了禁用某些代码行以进行测试的问题。

我有2个目标 - 第一个我的产品,第二个我的KIF测试目标。 在KIF测试目标中,宏定义为KIF = 1 在Product target中,宏定义为KIF = 0

然后代码包含在以下内容中:

#ifndef KIF
.... some code.....
#endif

不幸的是,此代码不适用于任何目标。

可能是因为产品目标设置为KIF目标的目标依赖项?

你能帮我解决一下我的问题吗?

2 个答案:

答案 0 :(得分:2)

这比我想象的要容易得多。转到您的项目>通过点击加号' +'配置并创建新配置按钮>重复调试配置,然后您可以创建新变量,如TESTING,并仅为您的配置定义它。下一步是在您的代码中包含#if代码并更改配置。

#if TESTING
{
...some code for testing needs...
}
#else
{
...your regular code...
}
#endif

在产品中>方案>编辑方案>测试,将构建配置更改为您自己的配置并进行测试。

答案 1 :(得分:1)

对于我来说,UnitTest作为预构建预处理器宏。

#ifdef TEST
#endif

如果您想要自定义构建的自定义变量,请执行以下操作:

  1. 转到目标/构建设置/预处理器宏
  2. 添加所需的变量:MYTESTVARIABLE
  3. 现在在代码中你可以使用
  4. #ifdef MYTESTVARIABLE 
    //some code here
    #endif