在需要时,我是否需要手动将每个* .m文件添加到我的单元测试目标?

时间:2011-04-27 23:11:40

标签: iphone ios xcode4 ocunit

我在XCode 4中使用单元测试。我一直在将我的应用程序* .m文件添加到单元测试目标“compile sources”中,因为我引用它们,因此单元测试将构建/运行。

这里有更好的方法吗?

注意 - 我刚刚尝试将应用程序添加到单元测试目标“target dependencies”,但这似乎不起作用(仍然会出现一些构建错误)。

3 个答案:

答案 0 :(得分:8)

在Xcode 4之前,您描述的方法是必要的:应用程序测试目标必须基本上是您的实际应用程序的副本,以及测试。

但是使用Xcode 4,我们不再需要在模拟器中进行测试。相反,使用作为单元测试包的目标,并将测试添加到包中。在测试期间,应用程序将启动,测试包将在运行时注入应用程序并与应用程序链接。

由于听起来你尝试过这种方法,让我们讨论你得到的实际错误。

答案 1 :(得分:2)

是的,您需要将所需的每个.m文件添加到单元测试目标中。

这将把它们包括在目标编译和链接阶段。

答案 2 :(得分:0)

如果在Obj-C项目中使用SWIFT语言创建testTarget

制作testTrget的方案就足够了但是这样: 产品 - >方案 - >编辑方案 - >构建选项卡: 仅检查测试。

重要: 您不应将每个.m文件包含在测试目标中 只需将标题添加到testTarget-Bridging-Header.h

注意:如果您要在scheme或INCLUDE .m文件中检查更多内容到testTarget,您可以获得标头冲突