Xcode概览:测试应用程序

suiling· 2014-12-12

57.png

本文翻译自苹果Xcode Overview:Test Your App,敬请勘误。

创建能自动执行应用功能和性能测试的测试用例,监视测试结果并修复测试导航器中显示的任何问题。

您可以使用OS X Server的Xcode service自动化执行测试。在开发环境的Mac上,您可以创建运行在单独服务器上的bots。除了运行单元测试外,bots自动执行代码静态分析、编译应用程序以及归档以便将应用程序分发给测试者或者提交至App Store。Bots可确保产品始终处于可发布状态,当出现失败时,Xcode service会通知你或者因更改代码引起失败的代码所有者。

创建并运行测试(Create and Run Tests)

Xcode支持两种主要测试类型:主要针对代码功能的功能测试,以及测量运行时间的性能测试。这两种测试都需要你来编写。每种函数都设置了测试环境,对app进行有针对性的测试。

最常用的功能测试是单元测试。代码单元是最小的可测试组件,比如类或者方法集中用来实现基本目的的方法。单元测试通常用来检测代码更改产生的回归。一些开发者首先编写单元测试,然后执行了通过测试的方法。性能测试主要用来衡量app在不同类型设备上完成任务所需的时间。Xcode会根据不同的配置和您选择的基准性能标准来跟踪时间。

测试用例以一个特定方式来运行代码单元或者检测app性能某个特性部分,如果测试结果跟预期结果不同,那么这就是个失败的测试用例。一个测试包由一组测试用例组成。

当你创建项目或者对象(target)时,Xcode会在构建应用程序的scheme中包含一个单元测试对象。对象的实现文件包含setUp、tearDown以及testExample方法的存根。完成这些存根实现,并根据需要为执行应用程序上的单元测试添加其他代码。

通过选择Product > Test来运行所有测试。点击测试导航器图标来查看状态和测试结果。点击测试导航栏右下角的按钮(+)为项目添加测试对象(或者为测试添加类)。想要查看特定测试的源码,请在测试列表中选中,源码编辑器将会打开相应的文件。

 559.jpg

想要运行一个测试包,请点击名称右边的箭头。想要运行测试方法的子集,请在测试导航器中选中它,然后选中Product > Perform Action > Run Test Methods。想运行单个测试方法,可点击方法名右边的箭头。选择Product > Test来运行scheme中所有测试。

测试运行成功后,测试名称后边会出现一个带有复选框的绿色菱形。如果测试失败,测试名称右边会出现一个带有X的红色菱形,并且测试中存在的问题会出现在问题导航器中,点击问题导航器按钮(XG_NavArea_Issue_icon_2x.png)即可查看详细问题。

如果仅想查看失败的测试,可点击测试导航器底部的Failed Test按钮(FailedTestIcon_2x.png)。选中失败的方法便可在源码编辑器中详细查看。解决了造成测试失败的问题后,点击表示失败测试的指示器-带有X的红色菱形-来重新运行测试。

在辅助弹出菜单选中Test Classes 或者Test Callers类别,即可在辅助编辑器中展示相关的测试方法。

更多关于编写、运行以及查看测试结果的信息,请查看Testing with Xcode.

自动化单元测试作为持续集成工作流的一部分(Automate Unit Testing as Part of a Continuous Integration Workflow)

Xcode通过Xcode service支持持续集成工作流。Xcode service是OS X Server中的服务,可以自动一体化编译、运行单元测试、执行静态分析以及归档产品。Xcode service会报告编译错误和警告、静态分析器问题、以及失败的单元测试。所有测试、分析以及归档都在服务器上执行。

QQ截图20141212145932.jpg

更多关于设置使用service的信息,请查看Xcode Continuous Integration Guide.