从OCUnit过渡到XCTest
自 Xcode2.1 以来,OCUnit
都是 Xcode测试的基础,很多现有的项目都是基于OCUnit
测试。它们可以继续使用,因为 Xcode 5为基于OCUnit
和XCTest
的两种项目提供了等同的功能。
将基于OCUnit
测试的现有项目从 Xcode 5 之前的版本添加进 Xcode 5中时,项目会兼容当前 iOS 和 OS X 版本,同样的,iOS 7之前的版本以及 OS X v10.8 之前的版本也是如此。
基于的测试可以在 iOS 6 和 iOS 7 上运行,所以针对iOS 和 OS X 旧版本的项目仍然能有效地选择使用 OCUnit
。当你需要把项目从 Xcode 5 回归至早期版本的Xcode,并对应用程序进行维护时,这也不失为一个很好的选择。
如果你的项目开发工作主要集中于 iOS 7 或更高版本,或在 OS X v10.8 或更高版本,或两者兼而有之,把项目转为使用XCTest
将是一个正确的选择。
从OCUnit过渡至XCTest
从 OCUnit 到 XCTest 的转换是一个复杂的操作,包括更新源文件,其中包括测试类和修改项目配置设置。Xcode5 中有一个转换工作流程的助手可帮你实现这些转换,选择 Edit > Refactor > Convert OCUnit to XCTest。使用该工具来成功地将项目迁移使用 XCTest。
注意:建议您在进行
OCUnit
到XCTest
的迁移时,将所有目标放到一个项目中。
更新项目OCUnit
到:
1.选择 Edit > Refactor > Convert OCUnit to XCTest。
2.点击下一步,进入到下一个工作表。
3.在出现的表单中,选择要转换的测试目标。
5.单击下一步按钮。
助手弹出了一个FileMerge
界面,您可以评估其他来源的变化。
左边是更新后的源文件,右边是原始文件。你可以浏览所有可能的变化,并丢弃那些你觉得有问题的代码。
6.如果你对所有的更改都满意,就可以单击保存按钮。
Xcode会把更改写入文件。