5

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

这里有更好的方法吗?

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

4

3 回答 3

8

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

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

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

于 2011-05-02T21:20:01.547 回答
2

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

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

于 2011-04-27T23:15:47.290 回答
0

如果 testTarget 是基于 Obj-C 项目中的 om SWIFT 语言创建的

制作 testTrget 的方案就足够了,但这样就足够了:产品 -> 方案 -> 编辑方案 -> 构建选项卡:仅选中测试仅此而已。

重要提示:您不应该将每个 .m 文件包含到测试目标中 只是将标头添加到 testTarget-Bridging-Header.h

注意:如果您将在方案或 INCLUDE .m 文件中检查更多内容到 testTarget 中,您可能会遇到标题冲突

于 2014-10-17T09:09:40.717 回答