我想测试以下方法:
- (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 :(得分:0)
我必须在测试中从故事板加载视图控制器然后才能工作。我能够在测试中调用viewDidLoad
并继续。
UIStoryboard* storyboard = [UIStoryboard storyboardWithName:@"MyStoryboard" bundle:nil];
UIViewController* controller = [storyboard instantiateViewControllerWithIdentifier:@"MyViewControllerId"];
AAAMyViewController* viewController = (AAAMyViewController*)controller;
我还必须进入故事板并为此视图控制器添加一个Storyboard ID(MyViewControllerId)。