【问题标题】:XCTest: [UIApplication sharedApplication] is returning nilXCTest:[UIApplication sharedApplication] 返回 nil
【发布时间】:2015-09-03 22:35:32
【问题描述】:

我用 Objective-C 编写了一个包含所有实用程序(通用)功能的框架。由于它是一个框架,它没有 App 委托文件。

我已经创建了一个 UIApplication 类,里面有几个实用方法。

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

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

【问题讨论】:

  • 您是否尝试过更改测试目标?
  • 为什么需要UIApplication的子类?

标签: objective-c swift xctest uiapplication


【解决方案1】:

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

这是项目设置的截图:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-23
    • 1970-01-01
    • 1970-01-01
    • 2011-03-22
    • 2014-05-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多