我在XCode 4中使用单元测试。我一直在将我的应用程序* .m文件添加到单元测试目标“compile sources”中,因为我引用它们,因此单元测试将构建/运行。
这里有更好的方法吗?
注意 - 我刚刚尝试将应用程序添加到单元测试目标“target dependencies”,但这似乎不起作用(仍然会出现一些构建错误)。
答案 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,您可以获得标头冲突