【问题标题】:XCTest for existing project现有项目的 XCTest
【发布时间】:2014-01-10 22:01:00
【问题描述】:

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

【问题讨论】:

标签: ios objective-c xcode xctest


【解决方案1】:

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

按照Apple instructions 将 XCTest 添加到您的项目中。

在 Application 目标中,确保编译器选项“Symbols hidden by default”设置为 NO

Here 是一篇博文,如果你卡住了,有截图!

【讨论】:

  • 美丽,绝对美丽。这为我/我的公司节省了很多麻烦,因为我们之前将每个源文件都添加到了测试目标中。这个问题的根源是当我注意到我们的单元测试中的一些对象在isEqual: 中的基本isMemberOfClass: 测试失败时。尽管被测试相等性的两个对象是从同一个源文件创建的,但它们来自两个不同的编译源:一个来自被测项目,一个来自单元测试项目。
  • 链接已损坏。我认为这是更新的链接:developer.apple.com/library/ios/documentation/ToolsLanguages/…
猜你喜欢
  • 2013-10-14
  • 2016-06-04
  • 1970-01-01
  • 2015-06-27
  • 2016-06-11
  • 2015-01-13
  • 1970-01-01
  • 2020-05-15
  • 2014-02-14
相关资源
最近更新 更多