【问题标题】:Test Driven Development (TDD): Writing unit tests in Xcode 4测试驱动开发 (TDD):在 Xcode 4 中编写单元测试
【发布时间】:2011-02-20 15:27:46
【问题描述】:

我热衷于编写一个带有测试的库项目,即使我随后将代码包含在其他项目中(而不是链接到库。)以包含在 ios 项目中。

似乎检查“包含单元测试”不足以让 xcode 4 正确初始化带有测试的项目,并且在查看 Apple 文档后我找不到任何相关内容。

有没有人知道任何资源或教程让这个工作?

即使使用默认的 Cocoa Touch 静态库项目,在从“产品”菜单中选择“测试”时,它也会失败(链接时)并出现此错误(项目名为 test1):

library not found for -ltest1
Command /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/llvm-gcc-4.2 failed with exit code 1

任何帮助将不胜感激。

【问题讨论】:

    标签: objective-c unit-testing tdd xcode4


    【解决方案1】:

    好吧,我终于搞定了。

    诀窍是创建库而不检查 XCode 4 中的“包含单元测试”选项。然后我自己创建了一个新目标。

    (在 xcode 4 中)

    1. 创建一个新的 Cocoa Touch 静态库项目并且不要勾选“Include Unit Tests”
    2. 在导航器中选择项目
    3. 进入“构建阶段”标签
    4. 点击“添加目标”并选择“Cocoa Touch 单元测试包”
    5. 完成向导直到创建目标
    6. 然后进入“产品”菜单并选择“编辑方案...”
    7. 确保选择了您的项目(不是测试目标),然后选择“测试”
    8. 单击 + 添加新目标
    9. 选择您的测试项目并点击添加
    10. 现在按 Cmd+U(这是“产品 > 测试”菜单项的快捷方式),您会注意到默认测试失败。

    我希望这会有所帮助。

    【讨论】:

    • 我在 Xcode 4 build 4A251a (GM Seed) 下使用“包含单元测试”在新项目中进行了测试。但它真的有效吗,以便看到失败的测试我必须在每次测试运行后手动打开控制台并扫描输出?!
    • 我解决它的方式,失败的测试在 xcode 中显示为错误。因此,您可以在“问题”选项卡中查看它们并跳转到它们等等。
    • 它在 Xcode 4 的最终版本中为我修复了。(有第二个 GM 种子 IIRC...)
    • 我在 XCode 4.0.2 中继续遇到这个问题,但上面的答案对我有用。谢谢!
    • 我同意.. 这在最新版本的 XCode 中是不需要的
    猜你喜欢
    • 1970-01-01
    • 2014-01-30
    • 1970-01-01
    • 2011-07-29
    • 2017-05-10
    • 1970-01-01
    • 2013-08-24
    • 1970-01-01
    • 2011-02-11
    相关资源
    最近更新 更多