OCUnit 是不是允许在 iPhone 模拟器上运行应用程序测试?

Posted

技术标签:

【中文标题】OCUnit 是不是允许在 iPhone 模拟器上运行应用程序测试?【英文标题】:Does OCUnit allow application tests to be run on the iPhone Simulator?OCUnit 是否允许在 iPhone 模拟器上运行应用程序测试? 【发布时间】:2009-10-14 21:03:55 【问题描述】:

Apple 的“iPhone 开发指南”在第 62 页建议“由于应用程序测试仅在设备上运行,因此您也可以使用这些测试来执行硬件测试......”。

我也想在模拟器中运行我的 OCUnit 测试用例——但还没有弄清楚如何去做。是否可以?还是我必须改用 Google 的工具包? http://code.google.com/p/google-toolbox-for-mac/

【问题讨论】:

如果要在模拟器上运行,那将是 Intel 代码,而不是 ARM。 【参考方案1】:

花了一天时间研究,但 OCUnit 似乎不允许在模拟器上进行测试,而只能在设备上进行。 Google Toolkit for Mac 更适合在模拟器上进行测试:http://code.google.com/p/google-toolbox-for-mac/wiki/iPhoneUnitTesting

【讨论】:

【参考方案2】:

将 UnitTestBundle 添加到应用程序后,打开它的 Info(getinfo) 并在其他链接器标志中将 Cocoa 更改为 Foundation,在您更改其他链接器标志后,其他链接器标志应该是这样的

-框架 基础 -框架 SenTestingKit

HTH

【讨论】:

【参考方案3】:

XCode 4.1 将允许您使用“测试”方案在模拟器中运行逻辑测试,但应用程序测试将失败,因为无法获取您的 UIApplicationDelegate 的实例。

XCode 4.1 不允许您在设备上运行逻辑测试。它给你以下错误:

Logic Testing Unavailable Logic Testing on ios devices is not supported. You can run logic tests on the Simulator.

【讨论】:

【参考方案4】:

从 XCode 4 和 iOS 4 开始,应用程序测试可以在设备和模拟器上运行。

【讨论】:

应用程序测试在模拟器中失败。我的 UIApplicationDelegate 在模拟器上返回nil,但在设备上不返回nil

以上是关于OCUnit 是不是允许在 iPhone 模拟器上运行应用程序测试?的主要内容,如果未能解决你的问题,请参考以下文章

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

iPhone 上的 ocunit 测试

在我的 XCode 3 上安装 OCUnit 时出现问题

什么是开始使用 OCUnit 进行 iPhone 单元测试的好教程?

OCUnit for iPhone App - 将所有 .m 文件设置为 UnitTest 目标的一部分

应用程序在模拟器上运行,但不是 iPhone 6 plus