【问题标题】:Disable some code lines for Unit Test禁用单元测试的一些代码行
【发布时间】:2013-12-05 15:39:16
【问题描述】:

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

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

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

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

很遗憾,此代码不适用于任何目标。

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

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

【问题讨论】:

    标签: ios unit-testing xcode5 kif


    【解决方案1】:

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

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

    在 Product > Scheme > Edit Scheme > Test 中,将 Build Configuration 更改为您自己的并进行测试。

    【讨论】:

      【解决方案2】:

      这适用于 UnitTest 作为预构建预处理器宏。

      #ifdef TEST
      #endif
      

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

      1. 转到目标/构建设置/预处理器宏
      2. 添加所需变量:MYTESTVARIABLE
      3. 现在您可以在代码中使用它了

      .

      #ifdef MYTESTVARIABLE 
      //some code here
      #endif
      

      【讨论】:

      • 我试过了,但它对我不起作用(我尝试了两种方式)
      猜你喜欢
      • 2022-07-06
      • 1970-01-01
      • 2019-02-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-18
      相关资源
      最近更新 更多