现有项目的 XCTest
Posted
技术标签:
【中文标题】现有项目的 XCTest【英文标题】:XCTest for existing project 【发布时间】:2014-01-10 22:01:00 【问题描述】:我有一个大的(大约 700 个模块)ios 项目。现在我需要对现有代码进行单元测试(在我们没有使用它之前)。我为我的目标添加了新的 XCTest 测试目标并开始编写我的第一个测试。但是编译后我有一些链接错误,因为我的项目中的模块没有包含在测试目标中。我是否包含了所有模块来测试目标?还是有更简单的方法来制作测试目标?
【问题讨论】:
Adding Unit Tests to an already existing project?的可能重复 【参考方案1】:应用程序文件不要需要包含在 XCTest 目标中。只有测试文件应该包含在 XCTest 目标的“编译源”列表中。
按照Apple instructions 将 XCTest 添加到您的项目中。
在 Application 目标中,确保编译器选项“Symbols hidden by default”设置为 NO。
Here 是一篇博文,如果你卡住了,有截图!
【讨论】:
美丽,绝对美丽。这为我/我的公司节省了很多麻烦,因为我们之前将每个源文件都添加到了测试目标中。这个问题的根源是当我注意到我们的单元测试中的一些对象在isEqual:
中的基本isMemberOfClass:
测试失败时。尽管被测试相等性的两个对象是从同一个源文件创建的,但它们来自两个不同的编译源:一个来自被测项目,一个来自单元测试项目。
链接已损坏。我认为这是更新的链接:developer.apple.com/library/ios/documentation/ToolsLanguages/…以上是关于现有项目的 XCTest的主要内容,如果未能解决你的问题,请参考以下文章
iOS:xcode 5,将项目从 xctest 迁移到 senTestingKit
XCTest:如果我只是对测试目标进行更改,如何防止 Xcode 不必要地重新编译我的项目
如何在 Xcode 中配置和运行目标 C 测试用例--XCTest