首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iPhone SenTestingKit未能在UnitTestBundle目标中找到AppDelegate

iPhone SenTestingKit未能在UnitTestBundle目标中找到AppDelegate
EN

Stack Overflow用户
提问于 2010-07-06 21:00:16
回答 5查看 3.4K关注 0票数 3

我正在尝试使用iPhone 3.2.3为XCode应用程序设置单元测试。

我遵循了applications.html中的步骤

尽我所能,但是当我试图构建"((yourApplicationDelegate) != nil)“时,我会得到这个错误消息。UIApplication未能找到AppDelegate

(这是使用应用程序单元测试的默认琐碎测试)

正如文档中所讨论的,我正在构建我的应用程序测试目标,并得到这个错误。

我是否需要确保我的所有非测试用例源都在我的测试包中?

迷惑

--

我将源文件包括到我的项目中,它编译得很好,但仍然遇到相同的单元测试错误:

"((yourApplicationDelegate) != 0)“应该是真的。UIApplication未能找到AppDelegate

原始代码与模板代码相同:

代码语言:javascript
复制
-(void) testAppDelegate {

    id yourApplicationDelegate = [[UIApplication sharedApplication] delegate];
    STAssertNotNil(yourApplicationDelegate, @"UIApplication failed to find the AppDelegate");
}
EN

回答 5

Stack Overflow用户

发布于 2011-04-08 15:01:53

确保指定了单元测试包的BUNDLE_LOADER和TEST_HOST构建设置。

代码语言:javascript
复制
BUNDLE_LOADER = $(BUILT_PRODUCTS_DIR)/YourApp.app/YourApp
TEST_HOST = $(BUNDLE_LOADER)

此外,在Xcode4中,苹果指南中描述的许多步骤是不需要的(例如复制应用程序目标)。我建议创建新的项目,包括单元测试和环顾四周。

票数 10
EN

Stack Overflow用户

发布于 2010-12-08 22:11:38

这对于OP和论坛浏览器来说是这样的,以防问题持续存在并且仍然相关:

我也遵循了关于单元和应用程序测试的iOS开发指南中的准则。在遵循“应用程序测试指南”时,我也遇到了以下问题:

代码语言:javascript
复制
Test Suite 'FirstSuite' started at 2010-12-08 21:30:33 GMT 0000
Test Case '-[FirstSuite testAppDelegate]' started.
/Users/TomCruise/Documents/iPhoneDevelopment/PickerLeak/FirstSuite.m:22: error:-[FirstSuite testAppDelegate] : "((app_delegate) != nil)" should be true. Cannot find the application delegate.
Test Case '-[FirstSuite testAppDelegate]' failed (0.000 seconds).

即,未按预期找到应用程序委托。

问题是,当我认为我遵守了指导方针时,我没有遵守。显然,应用程序测试只在设备上运行。因此,我从模拟器切换到设备(对于AppTesting目标),连接我的iPhone,然后构建+运行(cmd+返回/回车)。应用程序自行安装,几秒钟后返回代码1退出(我猜这意味着返回代码有问题)。

在应用程序退出后,我做了shift + cmd + R,(uparrow+cmd+R)以获得日志提示符,并且可以读取以下内容:

代码语言:javascript
复制
2010-12-08 22:59:59.163 PickerLeak[5356:307] -[UIPickerView setFrame:]: invalid height value 200.0 pinned to 180.0 
Test Suite 'All tests' started at 2010-12-08 22:00:00 GMT 0000
Test Suite '/var/mobile/Applications/{number}/PickerLeak.app/PickerLeakTests.octest(Tests)' started at 2010-12-08 22:00:00 GMT 0000
Test Suite 'FirstSuite' started at 2010-12-08 22:00:00 GMT 0000
**Test Case '-[FirstSuite testAppDelegate]' started.
Test Case '-[FirstSuite testAppDelegate]' passed (0.001 seconds).**
Test Case '-[FirstSuite testFail]' started.
/Users/TomCruise/Documents/iPhoneDevelopment/PickerLeak/FirstSuite.m:17: error: -[FirstSuite testFail] : Must... fail.
Test Case '-[FirstSuite testFail]' failed (0.003 seconds).
Test Suite 'FirstSuite' finished at 2010-12-08 22:00:00 GMT 0000.
Executed 2 tests, with 1 failure (0 unexpected) in 0.004 (0.008) seconds

所以..。(万岁!)

天啊,开发商。

票数 1
EN

Stack Overflow用户

发布于 2011-11-16 09:58:27

在这件事上我失败了两次。您需要设置BUNDLE_LOADER和TEST_HOST构建设置以使其工作。但这还不够,你还需要设置捆绑装载机和测试主机。请查查如何在xcode4中实现应用程序测试?,这个答案对我来说很好。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3190201

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档