我正在构建一个通用的iPhone / iPad应用程序,并且在某些情况下,UI明显不同(例如,在iPhone上,我们将Master / Detail范例与TableViews结合使用,而在iPad上,我们将CollectionView与包含详细信息的单元格一起使用) 。
因为接口是如此不同,所以它改变了构造视图控制器的单元测试的方式。在集合视图中,我们必须进行测试以确保正确构建了单元并包含所有详细信息,而在iPhone上,我们需要进行两组测试-一组用于主列表,一组用于详细屏幕。
所以我的问题是,在使用带有XCTest框架的Xcode 5构建的通用应用程序中,您可以针对要在特定物理设备上运行的单个单元测试用例/类吗?
我在这里遇到了一个类似的问题-iOS单元测试通用应用程序-但是问问者的意图不同,并且正在使用较旧的技术。
我还看到了建议对UserInterfaceIdiom的各个测试功能进行检查的建议,但这似乎很粗糙。理想情况下,应该有一个注释,用于指定在特定设备上运行的特定测试,或者能够为特定设备指定整个测试类别。
预先感谢您的建议。
- 编辑 -
@TommieC引导我走上了一条合适的道路,如果是一些小手册。我创建了两种新的测试专用方案,一种用于手机大小的设备,另一种用于平板电脑大小的设备。在这些方案中,我编辑了测试部分,并将其与特定于设备的测试一起添加到了核心测试中。
然后,我让詹金斯执行两个构建步骤,将适当的设备作为目标以测试特定的方案。这种方法的缺点是两个构建步骤。但是,我计划拆分jenkins作业,并在2个从站上运行它,并在每个从站上连接适当的设备以并行化测试。
AFAIK还将对Xcode Build Services友好,因为它也基于项目中的方案工作。实在太糟糕了,XCTest并没有内置更优雅的功能,考虑到在使用新设备类型(手表/电视/吹风机/等)的情况下,缩放效果并不理想
为了针对特定设备的测试,需要编辑一个项目的方案。在产品>方案>编辑方案下,可以选择为每个设备选择特定于设备的测试。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句