测试驱动开发(TDD):在Xcode 4中编写单元测试

Mat*_*yer 8 tdd unit-testing objective-c xcode4

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

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

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

即使使用默认的Cocoa Touch Static Library项目,从"Product"菜单中选择"Test",它也会失败(链接时)此错误(调用项目test1):

library not found for -ltest1
Command /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/llvm-gcc-4.2 failed with exit code 1
Run Code Online (Sandbox Code Playgroud)

任何帮助将非常感激.

Mat*_*yer 7

好的,我终于有了这个工作.

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

(在xcode 4中)

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

我希望这有帮助.