Objective c 如何使用ocmock在AppDelegate上删除属性?
在我的app delegate类中,我有一个简单的属性Objective c 如何使用ocmock在AppDelegate上删除属性?,objective-c,ocmock,Objective C,Ocmock,在我的app delegate类中,我有一个简单的属性 @property (strong, nonatomic) LoginAppDelegate *loginAppDelegate; 然后我卸载了所有登录视图的app-delegate类功能,这样我就可以保持我的主app-delegate类较小(ish) 然后在登录应用程序委托上,我有一个方法将视图控制器推送到主导航控制器上 - (void)launchSomeOtherViewController {} 最痛苦的是当我在调用这个“启动
@property (strong, nonatomic) LoginAppDelegate *loginAppDelegate;
然后我卸载了所有登录视图的app-delegate类功能,这样我就可以保持我的主app-delegate类较小(ish)
然后在登录应用程序委托上,我有一个方法将视图控制器推送到主导航控制器上
- (void)launchSomeOtherViewController {}
最痛苦的是当我在调用这个“启动”方法的视图控制器中时
当我试着模仿这一点时,我在应用程序委托上的存根似乎不正确
- (void)testCallBackWithSignupTokenInvokesLaunchCompleteSignupViewControllerWithToken
{
id mockLoginAppDelegate = [OCMockObject mockForClass:[LoginAppDelegate class]];
id mockAppDelegate = [OCMockObject mockForClass:[AppDelegate class]];
[[[mockAppDelegate stub] andReturn:mockLoginAppDelegate] loginAppDelegate];
[[mockLoginAppDelegate expect] launchSomeOtherViewController];
[self.sut callBackAfterSomeHttpMethodLetsSay];
[mockLoginAppDelegate verify];
}
当我通过ocunit运行此命令时出现的错误通常是“未调用预期的方法”
因此,我的问题与我的存根方式有关——我可以做一个存根来返回我所拥有的登录模拟,还是需要手动访问getter?看起来你没有让你的
mockAppDelegate
对被测类可见。尝试添加:
[self.sut setAppDelegate:mockAppDelegate];
看起来您没有使您的
mockAppDelegate
对被测试的类可见。尝试添加:
[self.sut setAppDelegate:mockAppDelegate];