注册

Apple 的xcodebuild的扩展!

xctool是 Apple 的xcodebuild的扩展,可以更轻松地测试 iOS 和 Mac 产品。它对持续集成特别有帮助。

特征

xctool是替代品,xcodebuild test它增加了一些额外的功能:

  • 更快的并行测试运行。

    xctool可以选择并行运行所有测试包,从而显着加快测试运行速度。在 Facebook,通过并行运行,我们看到了 2 倍和 3 倍的加速。

    使用-parallelize带有run-teststest选项来启用。有关详细信息,请参阅并行化测试运行

  • 测试结果的结构化输出。

    xctool将所有测试结果捕获为结构化 JSON 对象。如果您正在构建一个持续集成系统,这意味着您不再需要正则表达式解析xcodebuild输出。

    尝试使用Reporters之一自定义输出或使用该-reporter json-stream选项获取完整的事件流

  • 人性化的 ANSI 颜色输出。

    xcodebuild非常冗长,为每个源文件打印完整的编译命令和输出。默认情况下,xctool仅在出现问题时才详细说明,从而更容易确定问题所在。

  • 用Objective-C编写。

    xctool是用 Objective-C 编写的。Mac OS X 和 iOS 开发人员可以轻松提交新功能并修复他们可能遇到的任何错误,而无需学习新语言。我们非常欢迎拉取请求!

注意:不推荐使用 xctool 构建项目,并且不会更新以支持 Xcode 的未来版本。我们建议移动到 xcodebuild(使用xcpretty)来满足简单的需求,或者使用xcbuild来满足更多的需求。xctool 将继续支持测试(见上文)。

要求

  • Xcode 7 或更高版本
  • 您需要安装 Xcode 的命令行工具。从 Xcode,通过Xcode → Preferences → Downloads安装

安装

brew install xctool

xctool 的命令和选项主要是 xcodebuild 的超集。在大多数情况下,您只需将xcodebuildxctool交换,事情就会按预期运行,但输出更具吸引力。

您始终可以通过以下方式获得帮助和完整的选项列表:

path/to/xctool.sh -help


在运行测试之前,您需要构建它们。您可以使用xcodebuild、 xcbuildBuck来做到这一点。

例如:

xcodebuild \
-workspace YourWorkspace.xcworkspace \
-scheme YourScheme \
build-for-testing


如果您使用 Xcode 7 进行构建,您可以继续使用 xctool 使用 build-tests 构建测试,或者仅使用测试操作来运行测试。

例如:

path/to/xctool.sh \
-workspace YourWorkspace.xcworkspace \
-scheme YourScheme \
build-tests

并行化测试运行

xctool可以选择并行运行单元测试,从而更好地利用其他空闲的 CPU 内核。在 Facebook,通过并行化我们的测试运行,我们已经看到了 2 倍和 3 倍的收益。

要允许测试包同时运行,请使用以下-parallelize 选项:

path/to/xctool.sh \
-workspace YourWorkspace.xcworkspace \
-scheme YourScheme \
run-tests -parallelize


常见问题及demo下载:https://github.com/facebookarchive/xctool

源码下载:xctool-master.zip



0 个评论

要回复文章请先登录注册