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 设备而不是模拟器上运行
什么是开始使用 OCUnit 进行 iPhone 单元测试的好教程?