ios - 为单元测试禁用一些代码行

标签 ios unit-testing xcode5 kif

我在出于测试目的禁用某些代码行时遇到问题。

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

然后代码包含在下面:

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

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

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

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

最佳答案

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

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

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

关于ios - 为单元测试禁用一些代码行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20116382/

相关文章:

ios - textField delegate 和 ReactiveCocoa 中使用 textSignal 有什么区别?

IOS:导航栏在推送 segue 后消失

javascript - 在javascript中测试私有(private)函数

java - Java中的单元测试加解密

ios - iOS 上的 Cocos2d-x Admob

javascript - 如何将 Enzyme Shallow 与 Jest 快照一起使用

ios - 是否可以在 Objective c 中打开正在运行的后台应用程序

ios - 如何更改 xcode 中的 .mobileprovision

ios - XCode 5.1 Beta 4无法识别iOS 7.1 Beta 4测试设备

iphone - 在后台接收 iOS 通知::本地通知