从OCUnit过渡到XCTest

    自 Xcode2.1 以来,OCUnit都是 Xcode测试的基础,很多现有的项目都是基于OCUnit测试。它们可以继续使用,因为 Xcode 5为基于OCUnitXCTest 的两种项目提供了等同的功能。

    将基于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。

    注意:建议您在进行OCUnitXCTest的迁移时,将所有目标放到一个项目中。

    更新项目OCUnit到:

    1.选择 Edit > Refactor > Convert OCUnit to XCTest。

    2.点击下一步,进入到下一个工作表。

    3.在出现的表单中,选择要转换的测试目标。

    5.单击下一步按钮。

    助手弹出了一个FileMerge界面,您可以评估其他来源的变化。

    从OCUnit过渡到XCTest - 图1

    左边是更新后的源文件,右边是原始文件。你可以浏览所有可能的变化,并丢弃那些你觉得有问题的代码。

    6.如果你对所有的更改都满意,就可以单击保存按钮。

    Xcode会把更改写入文件。