Xcode 的 OCUnit 测试能否在 iOS 设备而不是模拟器上运行

Posted

技术标签:

【中文标题】Xcode 的 OCUnit 测试能否在 iOS 设备而不是模拟器上运行【英文标题】:Can Xcode's OCUnit tests run on iOS device rather than simulator 【发布时间】:2012-07-08 16:58:12 【问题描述】:

我正在尝试使用我的 iPad 运行 OCUnit 测试,但发现 Xcode(版本 4.3.3)总是 即使测试实际上失败了,也会给出消息Test Succeeded - 即调试控制台将测试记录为失败。如果我运行完全相同的测试,但使用模拟器,测试会像我预期的那样失败。

例如,我创建了一个带有以下测试的新项目:

- (void)testExample

    STFail(@"This test should fail");

当我在 iPad 上运行它时,Xcode 给出了Test Succeeded 消息:

当我在模拟器上运行它时,Xcode 给了我Test Failed 消息:

是否有可能在 ios 设备上获得Test Failed 消息?

谢谢!

【问题讨论】:

【参考方案1】:

SenTesting 框架并不完整,它不保证可以在设备上工作,但它可以在模拟器上正常工作。为了在您的设备上运行单元测试,我建议您使用这个库,

GHUnit

【讨论】:

【参考方案2】:

我不确定您的要求是什么,但模拟器的工作原理完全相同。因此,在进行这些测试时,请务必将设备插入计算机。是的,您确实需要重新表述您的问题,我会在您这样做时回来。

【讨论】:

你好 comradsky。我已经更新了我的问题。我希望现在更清楚了。

以上是关于Xcode 的 OCUnit 测试能否在 iOS 设备而不是模拟器上运行的主要内容,如果未能解决你的问题,请参考以下文章

Xcode 4 中的 SenTest OCUnit

Xcode 5//iOS 6 和 7//TDD:OCUnit 或 XCTest

将 OCUnit 测试框架添加到现有 Xcode 项目时遇到问题

OCUnit/XCode 单元测试的优秀测试运行器

OCUnit、NSLog 和 XCode 3.1

如何使用 Xcode 4 和 OCUnit 运行应用程序测试?