2013-08-23 67 views
2

我想測試一下下面的方法:單元測試:視圖控制器與標識符的賽格瑞:「賽格瑞ID」

- (void)myMethod 
{ 
    self.contact = nil; 
    [self performSegueWithIdentifier:@"segue id" sender:self]; 
} 

這是我做的測試類:

- (void)testMyMethod 
{ 
    // Call method to test 
    [testClass myMethod]; 

    // Tests 
    GHAssertNil(testClass.contact, @"contact should be nil."); 
} 

運行測試給我錯誤:

Reason : Receiver (<RS_MainViewController:0x126b6330>) has no segue with identifier 'segue id' 

爲什麼我得到這個錯誤和解決方案是什麼?

+0

您是否在故事板中指定了segue的segue id? – JPetric

+0

@JPetric是的,我有。 – Geek

回答

0

我不得不從我的測試中的故事板加載視圖控制器,然後它工作。我可以在我的測試中致電viewDidLoad並繼續。

UIStoryboard* storyboard = [UIStoryboard storyboardWithName:@"MyStoryboard" bundle:nil]; 
UIViewController* controller = [storyboard instantiateViewControllerWithIdentifier:@"MyViewControllerId"]; 
AAAMyViewController* viewController = (AAAMyViewController*)controller; 

我還不得不進入故事板併爲此視圖控制器(MyViewControllerId)添加故事板ID。