iOS:如何在设备上运行 XCTest?
Posted
技术标签:
【中文标题】iOS:如何在设备上运行 XCTest?【英文标题】:iOS: how to run XCTest on device? 【发布时间】:2015-03-16 12:44:48 【问题描述】:我目前正在学习 XCTest 以进行单元测试。我能够在模拟器上运行默认模板 XCtest 没有任何问题。我可以在测试导航视图中显示所有绿色刻度。但是,当我使用我的应用程序作为主机应用程序在设备上运行它们时,没有任何反应。我的应用程序在设备上启动,XCTest 似乎没有运行。我什至在测试中设置了一个断点,它没有中断。此外,在模拟器中,应用程序会在测试完成时自动停止,但是,当在设备上运行时,我的应用程序只是保持运行,从未停止过。我做错了什么吗?
【问题讨论】:
【参考方案1】:xCode 在物理设备上运行 XCTest 时应显示此消息。
不支持在 ios 设备上进行逻辑测试。您可以在模拟器上运行逻辑测试。
【讨论】:
一开始是这样,但是,一旦我选择我的应用程序作为主机应用程序并勾选“允许测试主机应用程序 API”框,它就消失了。 在 Xcode 6 中,它可以在设备中运行测试,只要确保将有效的配置文件设置为测试目标就可以了,我使用了通配符并且运行良好。【参考方案2】:有一个名为 GHUnit 的库,我们可以在 iphone 设备上运行单元测试。它在内部使用 xctest。以下是您设置 GHUnit 的方法。
我能够按照说明使用 xcode 5 设置单元测试。应该可以使用 Xcode 6 吗?
【讨论】:
我假设您的设备 UDID 已添加到您的配置文件中?? 感谢您的回复。我一定会在 GHUint 上试一试。至于配置文件,我确实为测试目标创建了一个特定的配置文件,否则构建会失败。 该设计是否在配置文件上进行测试?将代码歌唱和配置文件设置为自动,试一试,看看它是如何工作的。我建议将配置文件设置保持为自动。以上是关于iOS:如何在设备上运行 XCTest?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 XCTest UI 测试区分 iOS 13 中的标题和静态文本
XCTest 中的 IOS -NSRunLoop:如何让运行循环在单元测试中工作?