将Xcode 5中的单个XCTest单元测试用例定位到通用应用的特定iOS设备?

我正在建立一个通用的iPhone / iPad应用程序,UI在某些情况下是显着的差异(即在iPhone上,我们使用了TableViews的Master / Detail范例,而在iPad上,我们使用的是包含详细信息的单元格的CollectionView) .

因为接口是如此不同,它改变了视图控制器的单元测试的构造方式.在收藏视图中,我们必须进行测试,以确保单元格正确构建并包含所有详细信息,而在iPhone上,我们需要两套测试 – 一个用于主列表,一个用于详细屏幕.

所以我的问题是,在使用Xcode5 XCTest框架构建的通用应用程序中,您可以将单个测试用例/类别定位到特定物理设备上运行吗?

在这里遇到了一个类似的问题 – iOS Unit testing universal application – 但是asker有不同的意图,并且使用的是旧的技术.

我也看到建议检查UserInterfaceIdiom的各个测试功能,但是看起来真的很粗糙.理想情况下,会有一个注释,指定在特定设备上运行的特定测试,或者可以为特定设备指定整个测试类.

提前感谢您的建议.

– 编辑 –

@TommieC带我走下去,似乎是合适的路径,如果一个smidge手册.我创建了两个新的测试具体方案,一个用于手机大小的设备,一个用于平板电脑大小的设备.在这些方案中,我编辑了测试部分,并在核心测试中添加了设备特定的测试.

然后我有jenkins执行两个构建步骤,针对相应的设备来测试特定方案.这种方法的缺点是两个构建步骤.但是,我打算拆分jenkins作业,并将其运行在2个从站上,并将适当的设备挂接到每个从站以并行化测试.

AFAIK也将是Xcode Build Services的友好,因为它基于项目中的计划工作.真的太糟糕了,XCTest内置的并不是更为优雅,因为在新设备类型发挥作用的情况下(观看/电视/吹风机等),​​这不算太好了.

解决方法

要针对特定​​于设备的测试,需要编辑项目的方案.在产品>方案>编辑方案可以选择每个设备选择特定于设备的测试.

相关文章

当我们远离最新的 iOS 16 更新版本时,我们听到了困扰 Apple...
欧版/美版 特别说一下,美版选错了 可能会永久丧失4G,不过只...
一般在接外包的时候, 通常第三方需要安装你的app进行测...
前言为了让更多的人永远记住12月13日,各大厂都在这一天将应...