翻译:使用Xcode测试(四)——运行测试并查看结果(Running Tests and Viewing Results)

来源:转载


使用Xcode测试导航可以很容易运行测试并查看结果。还有其他几种方式运行测试。Xcode基于测试target运行测试。使用测试导航,你可以直接启用和禁用测试target,类和方法,而不需要使用编辑器。


运行测试命令

测试导航为你提供一种简单的方式运行测试,运行测试是编程流程的一部分。可以在源代码编辑器或在菜单直接运行测试。


使用测试导航

当你将指针移到测试导航中的bundle、类或方法名上,会出现一个运行按钮。你可以运行一个测试或类中的所有测试或者bundle中所有的测试,这取决于你指针指在测试导航列表的位置。


要运行bundle中的所有测试,在测试bundle名上按住指针并单击右边出现的运行按钮。



要运行类中的所有测试,在类名上按住指针并单击右边出现的运行按钮。



要运行一个测试,在测试名上按住指针并单击右边出现的运行按钮。



使用源代码编辑器

当你在源代码编辑器中打开测试类时,在每个测试方法名旁边会出现一个指示器。将指针放到指示器上会显示一个运行按钮。点击运行按钮运行测试方法,指示器会显示测试时通过或失败。将指针放置在指示器上回重新显示运行按钮,可以重复测试。此处机制是一次只能运行一个测试。






注意:在类的实现旁边会出现同样的指示器,你可以运行类中的所有测试。


使用产品菜单

产品菜单包括在键盘输入快速访问命令直接运行测试。



Product > Test.运行当前scheme。快捷键是Command-U。
Product > Build for > Testing 和 Product > Perform Action > Test without Building。这两个命令可以用来build测试bundle产品同时独立运行测试。这些
命令是测试build和测试过程的快捷方式。当更改代码后,在build过程中检查警告和错误时非常有用,快捷键分别是Shift-Command-U 和 Control-Command-U。
Product > Perform Action > Test **。例如, Product > Perform Action > Test testAddition。快捷键是**Control-Option-Command-U。

注意:除了源代码编辑器,这个命令在项目导航和测试导航中均可用。
在测试导航中,可以选择测试bundle,类或方法。在项目导航中,可以选择测试类实现文件,例如,CalcTests.m



Product > Perform Action > Test Again 。重新运行最新测试方法,当调试/编辑代码时非常有用。类似Product > Perform Action > Test命令,快捷键是Control-Option-Command-G。
显示测试结果

XCTest框架会在Xcode中显示测试方法通过或失败。从下面的截图可以看到结果。



在测试导航中,你可以在测试或一组测试运行后查看通过或失败指示。





如果测试方法嵌入在相关类或测试bundle中,该指示反映的是整个测试类或测试bundle的状态。在这个例子中,BasicFunctionsTests类中至少有一个测试失败。





在源编辑器中,你可以查看通过或失败指示并调试信息。



在报告导航中,你可以查看测试运行结果输出。在左边面板中选择你想要检查的测试,并选择测试面板进行查看。



性能测试,点击时间列中的值以获得详细的性能结果报告。你可以查看测试总性能,也可以通过点击单个测试运行按钮,查看十次运行结果。使用编辑按钮可以设置或修改测试的基准线,设置通过或失败指示的最大标准误差。



使用日志面板,你可以查看相关失败描述和其他摘要输出。通过点开小三角,你可以深入到运行测试中的所有细节。



注意:除了项目左边的小三角,测试失败右边的小图标也可以展开更多的信息,你可以看到testMultiplication失败。


调试控制台显示运行测试的综合信息。与日志导航一样展示信息,如果你一直在调试,调试的其他信息也会出现在这里。



使用scheme和测试target

Xcode scheme控制build,运行,测试,调试菜单命令。当你在测试导航中创建测试target、执行其他系统操作时,Xcode管理scheme配置,例如,当你启用或禁用测试方法、测试类或测试bundle。在管理Scheme菜单中勾选共享复选框,可以使用Xcode服务并持续集成,并管理项目和源代码。


查看测试的配置scheme:


在工具栏中选择Scheme menu > Manage Schemes。



在这个项目中有两个scheme,一个build应用,另一个build库/框架。配置scheme的右边有个复选框,表明scheme是否共享Xcode服务。


2.​在管理表单中,双击scheme使之显示在scheme编辑器中。当你执行测试命令时,scheme的中Test表示Xcode执行测试。




注意:测试导航和配置/设置助手与测试target、测试类和测试方法相关联,通常管理测试相关设置。


关于使用配置和编辑可用scheme,参见编辑scheme帮助(Scheme Editor Help)和在Xcode中使用scheme和project( WWDC 2012: Working with Schemes and Projects in Xcode (408))。


build设置——测试应用,测试库

应用测试运行在你的应用环境中,可以结合app中不同的类、库/框架进行功能测试。库测试可以不依赖app,独立测试库或框架的类或方法,验证行为是否符合库的要求。


不同的build设置需要两种测试bundle。当你在新建target窗口中选择target参数并创建测试target时,会自动配置build设置。可以选择应用SampleCalc,和库/框架CalcLibrary




选择SampleCalc作为build产品的测试target。应用进程管理测试的执行,测试接收applicationDidFinishLaunching通知后执行。默认产品名称“SampleCalc Tests,”来自SampleCalc;你可以按你自己的喜好改变它。


如果你选择CalcLibrary作为相关build产品,target助手配置build设置为库测试。Xcode启动测试运行时环境,库或框架,测试代码由Xcode管理。默认产品名称来自库target(“CalcLibrary Tests”)。你可以按你自己的喜好改变它。


默认build设置

在大多数情况下,为app或库测试配置build设置时,你只需要选择正确的测试target关联产品。Xcode自动为你管理build设置。因为你需要自己设置一些复杂build的项目,理解标准build设置是非常有用的。


SampleCalc项目作为例子来说明正确的默认设置。


1.在项目导航点击SampleCalc进入项目编辑器,选择SampleCalc作为测试target。


在编辑器中的通用面板中,显示Target弹窗。弹窗中显示SampleCalc作为target。




你可以检查build设置SampleCalcTests是否为target。


2.单击build设置,然后在搜索区域中输入 Bundle LoaderSampleCalc应用将加载SampleCalc的测试。你会看到调试和发布版本的自定义参数路径。


如果你搜索 Test Host会出现相同的路径,如下图所示。




本项目的计算器库target是CalcLibrary,相关的测试target是CalcLibraryTests


3.选择CalcLibraryTeststarget和通用面板。


target设置为None。同样检查build设置面板中的 Bundle LoaderTest Host没有相关的参数。这表明Xcode设置了默认值,这是正确的配置。


官方原文地址:

https://developer.apple.com/library/ios/documentation/DeveloperTools/Conceptual/testing_with_xcode/chapters/05-running_tests.html#//apple_ref/doc/uid/TP40014132-CH5-SW1




分享给朋友:
您可能感兴趣的文章:
随机阅读: