现有项目的XCTest

3

我有一个大型的iOS项目(大约700个模块)。现在我需要为现有代码编写单元测试(之前我们没有使用它)。我为我的目标添加了一个新的XCTest测试目标,并开始编写我的第一个测试。但是编译后,我遇到了一些链接错误,因为我的项目模块未被包含在测试目标中。我是否将所有模块都包含在测试目标中了?或者有更简单的方法来创建测试目标?


可能是将单元测试添加到已有项目中?的重复问题。 - TechSeeko
1个回答

5

应用程序文件不需要包含在XCTest目标中。只有测试文件应该包含在您的XCTest目标的“编译源”列表中。

遵循Apple的说明将XCTest添加到您的项目中。

在应用程序目标中,确保编译器选项“默认隐藏符号”设置为NO

这里有一篇带有截图的博客文章,如果您遇到困难可以参考!


太美妙了,真是太美妙了。这让我/我们公司省去了很多麻烦,因为以前我们需要将每个源文件添加到测试目标中。这个问题的起源是当我注意到我们单元测试中的一些对象在isEqual:的基本isMemberOfClass:测试中失败时。尽管被测试相等性的两个对象是从同一个源文件创建的,但它们来自两个不同的编译源:一个来自正在测试的项目,另一个来自单元测试项目。 - Richard Shin
您IP地址为143.198.54.68,由于运营成本限制,当前对于免费用户的使用频率限制为每个IP每72小时10次对话,如需解除限制,请点击左下角设置图标按钮(手机用户先点击左上角菜单按钮)。 - Dermot

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接