Unit testing 用于注销的XCTest中的UIApplication sharedApplication

Unit testing 用于注销的XCTest中的UIApplication sharedApplication,unit-testing,login,uiapplication,Unit Testing,Login,Uiapplication,对于XCTest套件中的setUp和tearDown方法,我需要调用[[UIApplication sharedApplication]委托],然后让它执行签出方法。注销似乎调用了正确的方法,但sharedApplication上的许多属性为零,并且它实际上没有注销应用程序。应用程序在正常运行期间确实注销。我认为这与单例影响单元测试的方式有关。有人知道为什么会这样吗?试着: 删除现有的测试目标 创建新的测试目标(左窗格中的第5个选项卡->单击左下角的+->新建测试目标)并 在出现的窗口中,不要忘

对于XCTest套件中的setUp和tearDown方法,我需要调用[[UIApplication sharedApplication]委托],然后让它执行签出方法。注销似乎调用了正确的方法,但sharedApplication上的许多属性为零,并且它实际上没有注销应用程序。应用程序在正常运行期间确实注销。我认为这与单例影响单元测试的方式有关。有人知道为什么会这样吗?

试着:

  • 删除现有的测试目标

  • 创建新的测试目标(左窗格中的第5个选项卡->单击左下角的
    +
    ->新建测试目标)并

  • 在出现的窗口中,不要忘记选择您的应用程序作为测试目标的目标

  • 将所有测试用例文件添加到新目标


  • 我不知道原因,但在执行此操作后,当我使用新目标运行测试时,它开始正常工作。

    同样的问题。对我来说,
    [UIApplication sharedApplication]
    也是零。同样的问题没有答案: