如何使用 Xcode 4 和 OCUnit 运行应用程序测试?
Posted
技术标签:
【中文标题】如何使用 Xcode 4 和 OCUnit 运行应用程序测试?【英文标题】:how to run application testing using Xcode 4 and OCUnit? 【发布时间】:2011-05-29 09:53:59 【问题描述】:我正在使用 OCUnit 编写单元测试,我尝试过 GHUnit 但它不适合我的情况。
我确实想运行应用程序测试,因为我的代码严重依赖于我的 ApplicationDelegate 实例。但我只能弄清楚如何运行逻辑测试而不是应用程序测试。
这是来自模板的示例测试代码,但是我的测试失败(没有应用程序委托)或根本没有运行测试代码。
- (void) testAppDelegate
id yourApplicationDelegate = [[UIApplication sharedApplication] delegate];
STAssertNotNil(yourApplicationDelegate, @"UIApplication failed to find the AppDelegate");
我从苹果那里找到了一个guide,关于如何设置测试,但它不适用于 Xcode 4
【问题讨论】:
【参考方案1】:在这里找到答案 how to implement application tests in xcode4?
假设您有一个名为“MyApp”的应用程序目标
将“其他/Cocoa 单元测试包”类型的新目标添加到 项目,例如“MyAppTesting”。所有单元测试文件都位于此处。 转到 MyAppTesting 构建阶段并将 MyApp 添加为目标 依赖。这可确保在构建 MyApp 之前构建 MyAppTesting 目标。 打开 MyAppTesting 的构建设置 和改变 捆绑加载程序:$(BUILT_PRODUCTS_DIR)/MyApp.app/MyApp 测试主机:$(BUNDLE_LOADER) 这会导致测试在 MyApp 中运行。 打开MyApp的Build Settings并更改 默认隐藏符号:否(两者都适用) 复制期间剥离调试符号:Debug:NO 通过这样做,您不必将每个 .m 文件都包含到测试目标中。
【讨论】:
虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接的答案可能会失效。以上是关于如何使用 Xcode 4 和 OCUnit 运行应用程序测试?的主要内容,如果未能解决你的问题,请参考以下文章
在 iOS 开发中使用 OCUnit 对 XCode 4.5 中的核心数据对象进行单元测试