2
我是新來的OCMock,我想測試一個方法是否被調用,除了我想方法是一個存根,因爲它包含其他加載方法,我不在現在的測試中測試。如何正確使用OCMock測試此方法?
- (void)setUp
{
self.rootViewController = [[RootViewController alloc] init];
}
- (void)tearDown
{
self.rootViewController = nil;
}
- (void)test_ViewDidLoad_DidCallLoadChildViewControllers
{
id mockRootViewController = [OCMockObject partialMockForObject:self.rootViewController];
[(RootViewController*)[mockRootViewController stub] loadChildViewControllers];
[(RootViewController*)[mockRootViewController stub] updateMainNavigation];
[[mockRootViewController expect] loadChildViewControllers];
// Force the view to load
self.rootViewController.view;
[mockRootViewController verify];
}
這裏是獲取調用方法:
- (void)viewDidLoad
{
[super viewDidLoad];
[self loadChildViewControllers];
[self updateMainNavigation];
}
出於某種原因,測試失敗了,就好像它永遠不會被調用(但我可以一步直通它並驗證它越來越所謂的,以及它是一個存根
以下是錯誤:
OCPartialMockObject[RootViewController]: expected method was not invoked: loadChildViewControllers
我是什麼錯誤唱?
就是這樣!再次感謝您的解釋。 – 2013-04-10 23:00:43