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

Mat*_* S. 14 iphone xcode unit-testing ios xcode5

我正在构建一个通用的iPhone/iPad应用程序,在某些情况下UI会有很大的不同(例如在iPhone上我们使用带有TableView的Master/Detail范例,而在iPad上我们使用带有包含细节的单元格的CollectionView) .

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

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

我在这里遇到了一个类似的问题 - iOS单元测试通用应用程序 - 但提问者有不同的意图,并使用旧技术.

我也看到了对UserInterfaceIdiom的各个测试函数进行检查的建议,但这看起来很粗糙.理想情况下,会有一个注释指定在特定设备上运行的特定测试,或者能够为特定设备指定整个测试类.

提前感谢您的建议.

- 编辑 -

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

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

AFAIK这也将是Xcode Build Services友好的,因为它也基于项目中的方案工作.这真的太糟糕了,XCTest没有更优雅的内置,考虑到在新的设备类型发挥作用(手表/电视/吹风机等)的情况下,这不会非常好地扩展.

Tom*_* C. 2

为了针对特定于设备的测试,需要编辑项目的方案。在“产品”>“方案”>“编辑方案”下,可以选择为每个设备选择特定于设备的测试。

方案编辑器