2011-02-20 63 views
8

我很想用测试编写一个库项目,即使我将代码包含在其他项目中(而不是链接到lib) ios项目。测试驱动开发(TDD):在Xcode 4中编写单元测试

似乎检查'包含单元测试'是不足以让xcode 4正确初始化一个包含测试的项目,并且在查看Apple文档后我找不到任何相关的东西。

有没有人知道任何资源或教程来获得这项工作?

即使默认可可触摸静态库项目,在从“产品”菜单中选择“测试”,它失败(连接时)与此错误(该项目被称为test1):

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

任何帮助将非常感激。

回答

7

好的,我终于得到了这个工作。

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

(在Xcode 4)

  1. 创建一个新的可可触摸静态库项目,不检查“包括单元测试”
  2. 在导航
  3. 进入“选择建设项目阶段”选项卡
  4. 点击‘添加目标’,然后选择‘可可触摸单元测试包’
  5. 经过向导,直到创建目标
  6. 然后去在“产品”菜单,然后选择“编辑计划......”
  7. 确保您的项目(而不是测试目标)被选中,并选择“测试”
  8. 单击+添加一个新的目标
  9. 选择您的测试项目并点击添加
  10. 现在按Cmd + U(这是“产品>测试”菜单项的快捷键),您会注意到默认测试失败。

我希望这会有所帮助。

+0

我在Xcode 4 build 4A251a(GM Seed)下的'包含单元测试'中获得了在新项目中工作的测试。但是它真的有效吗?为了查看失败的测试,我必须在每次测试运行后手动打开控制台并扫描输出?! – Palimondo

+0

我解决它的方式,失败的测试在xcode中显示为错误。因此,您可以在问题选项卡中看到它们并跳转到它们等。 –

+0

它在Xcode 4的最终版本中已修复。(有第二个GM种子IIRC ...) – Palimondo