iPhone SenTestingKit无法在UnitTestBundle目标中找到AppDelegate

gro*_*hog 3 iphone xcode unit-testing

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

我按照http://developer.apple.com/iphone/library/documentation/xcode/conceptual/iphone_development/135-Unit_Testing_Applications/unit_testing_applications.html中的步骤进行操作.

尽我所能,但我在尝试构建时收到此错误消息:"((yourApplicationDelegate)!= nil)"应该是真的.UIApplication未能找到AppDelegate

(这是USE APPLICATION UNIT TEST的默认琐碎测试是真的)

我正在构建我的应用测试目标,如文档中所述,并得到此错误.

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

困惑

-

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

"((yourApplicationDelegate)!= nil)"应该是真的.UIApplication未能找到AppDelegate

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

-(void) testAppDelegate {

    id yourApplicationDelegate = [[UIApplication sharedApplication] delegate];
    STAssertNotNil(yourApplicationDelegate, @"UIApplication failed to find the AppDelegate");
}
Run Code Online (Sandbox Code Playgroud)

hir*_*shi 10

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

BUNDLE_LOADER = $(BUILT_PRODUCTS_DIR)/YourApp.app/YourApp
TEST_HOST = $(BUNDLE_LOADER)
Run Code Online (Sandbox Code Playgroud)

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