2011-01-05 111 views
2

每当我运行单元测试应用程序查找的appdelegate是否有R值不要使用测试服单元测试我有以下错误

-(void)testAppDelegate 
{ 
id app_delegate=[[UIApplication sharedApplication]delegate]; 
STAssertNotNil(app_delegate,@"delegate not found"); 
} 

我得到这个错误。请帮忙。

“_OBJC_CLASS _ $ _ UIApplication的”,从引用:

objc-class-ref-to-UIApplication in Tests.o 

LD:符号(S)没有发现

collect2:LD返回1退出状态

+0

这是什么样的测试,你如何运行它? Apple的'逻辑测试'不在应用程序内运行,所以你不能从这样的测试中调用'[UIApplication sharedApplication]'。 – Jonah 2011-01-05 04:57:39

+0

是的,它是一个“逻辑测试”,但我跟着苹果的文档步骤来创建这个和下载的样本正在运行。我遵循Moszi的答案,现在我没有得到那个错误。但是它显示没有找到appdelegate。 – Pradeep 2011-01-06 05:46:06

回答

3

我相信这是一个链接器错误,而不是运行时错误。 您需要将您在iPhone构建目标中使用的框架链接到单元测试目标。特别是这个错误表明UIKit框架没有链接到你的单元测试目标。 (为了安全地链接UIKit,Foundation和CoreGraphics以及您的目标)。

您可以通过扩大在Xcode中的目标节点做到这一点,你的单元测试目标获取信息,并在常规选项卡,在您需要添加这3个框架的链接库)

希望这帮助, Moszi

+0

感谢Moszi ..,现在它正在运行。 – Pradeep 2011-01-05 11:46:51

+0

谢谢你...现在我没有得到那个错误,但仍然显示没有appdelegate被发现 – Pradeep 2011-01-06 05:48:47

+0

你能在哪里显示显示没有appdelegate的错误?如果是,请告诉解决方案 – Pria 2011-05-24 09:19:54