如何为框架配置OCUnit测试包?

时间:2010-02-23 20:40:45

标签: objective-c cocoa unit-testing xcode ocunit

我一直在开发Mac OS X框架,我想在我的XCode 3.2.1项目中使用OCUnit。我已经学习了几个关于如何配置OCUnit测试包的教程。问题是,当我创建一个使用在框架的某个源中定义的函数的测试用例时,我得到一个构建错误,告诉我找不到该符号。

我的测试包依赖于我项目的目标,正如教程所说,但这似乎不是问题。首先,我认为我可以通过将框架的源文件拖到Test bundle目标中的compile sources部分来解决这个问题,但是然后从该源文件引用的所有符号开始显示在构建错误中,所以这似乎不是是一个很好的解决方案/想法。

如何配置单元测试包以使其正确构建?

2 个答案:

答案 0 :(得分:4)

我还针对框架编写单元测试,希望我能提供帮助。您不希望为单元测试重新编译框架源 - 而是希望链接到构建的框架。这是我的建议:

  1. 双击侧栏中的目标,打开单元测试目标的信息窗口。
  2. 在“常规”标签中,点击左下方的+符号添加链接库。选择项目生成的框架,然后单击“添加”。关闭信息窗口。
  3. 在每个单元测试中,导入该测试所需的头文件。由于Xcode知道框架文件,您应该能够使用#import "MyHeader.h"表单,而不是尖括号(<>)。
  4. 此时,您的单元测试应该无错误地构建。如果没有,或许可以检查我为CHDataStructures配置单元测试的方式可能有所帮助。

答案 1 :(得分:1)

我可以通过点击Xcode主窗口中出现的文件查看器表中与我的框架相对应的复选框(产品部分中显示的复选框)来实现它(我猜它把文件作为目标)这样的事情)。似乎将框架拖到单元测试包中会做出不同的事情。