【问题标题】:Can I use a conditional define in Xcode 4 using LLVM when running SenTest tests for an iOS project?在为 iOS 项目运行 SenTest 测试时,我可以使用 LLVM 在 Xcode 4 中使用条件定义吗?
【发布时间】:2011-07-22 12:26:15
【问题描述】:

我发现很多人使用 Xcode 3 来执行此操作,但它似乎不再在 Xcode 4 中工作。或者,它部分工作......

我在我的测试目标下为调试和发布添加了一个预处理器宏“TEST_TARGET”,如果我在实际的单元测试中使用#ifdef TEST_TARGET,则可以正常工作。

但是,我真的想从一个源文件中记录一些额外的信息,该源文件在单元测试下运行时只是主应用程序的一部分(即,只是一个标准源文件,而不是单元测试文件)。该源文件似乎没有“看到”定义。我已经调试了调试器,#ifdef 中的代码永远不会执行。

有没有办法告诉我的应用正在单元测试目标下运行?

【问题讨论】:

    标签: ios xcode4


    【解决方案1】:

    您可以这样做:您可以在加载测试时测试已加载的内容,但在未加载时则不行。

    例如:

    if (NSClassFromString(@"SenTest")) {
      NSLog(@"Extra info when running tests");
    }
    

    您还可以将仅存在于测试目标中的类别添加到您的类中,这也可能会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-11-29
      • 1970-01-01
      • 2016-12-21
      • 2021-11-04
      • 1970-01-01
      • 2011-10-18
      • 1970-01-01
      相关资源
      最近更新 更多