XCTest:[UIApplication sharedApplication]返回nil

时间:2015-09-03 22:35:33

标签: objective-c swift xctest uiapplication

我已经在Objective-C中编写了一个包含所有实用程序(公共)函数的框架。由于它是一个框架,因此它没有App委托文件。

我创建了一个UIApplication类,其中包含很少的实用方法。

@interface TestApplication : UIApplication
{
- (void)initialLockSetUp;
// more...
}

现在从我的单元测试文件中,如何测试这个“initialLockSetUp”方法? 当我致电(TestApplication*)[UIApplication sharedApplication]时,它将返回nil。

1 个答案:

答案 0 :(得分:0)

如果由于某种原因,您需要一个UIApplication实例进行测试,那么测试目标的测试主机应该是一个应用程序。然后,您可以将框架链接到该测试目标。现在[UIApplication sharedApplication]将返回有效的UIApplication实例。操作系统在应用程序启动时创建此实例,因此您无法将其子类化。

这是项目设置的屏幕截图:

enter image description here