iOS:如何在设备上运行XCTest?

4

我目前正在学习XCTest以进行单元测试。我能够在模拟器上运行默认模板的XCtest,没有任何问题。在测试导航视图中,我能够看到所有绿色的勾号。然而,当我在设备上运行它们,并将我的应用程序作为主机应用程序时,什么也没有发生。我的应用程序在设备上启动,但似乎XCTest并没有运行。我甚至在测试中设置了断点,但它并没有停止。此外,在模拟器上,应用程序在测试完成后会自动停止,但在设备上运行时,我的应用程序只是一直运行,从未停止。我做错了什么吗?

2个回答

4

在物理设备上运行 XCTest 时,xCode 应该会显示以下信息:

不支持在 iOS 设备上进行逻辑测试。你可以在模拟器上运行逻辑测试。


2
起初确实有这个问题,但是一旦我选择了我的应用作为主机应用程序并勾选了“允许测试主机应用程序API”框,它就消失了。 - crab oz
在Xcode 6中,可以在设备上运行测试,只需确保为测试目标设置了有效的配置文件即可,我使用了通配符并成功运行了测试。 - Itachi

3

有一个名为GHUnit的库,我们可以在iPhone设备上运行单元测试。它内部使用xctest。以下是设置GHUnit的方法。

我能够按照说明使用xcode 5设置单元测试。Xcode 6应该也可以吧?


我假设你的设备UDID已经添加到了你的配置文件中? - harmeet07
谢谢回复。我一定会尝试使用GHUint。至于配置文件,我确实为测试目标创建了一个特定的配置文件,否则构建将失败。 - crab oz
你正在测试的设备上是否有配置文件?将代码签名和配置文件设置为自动,试着玩一下看看它是如何工作的。我建议保持配置文件设置为自动。 - harmeet07

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接