2

我想测试以下方法:

- (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'

为什么我会收到此错误,解决方案是什么?

4

1 回答 1

0

我必须在测试中从情节提要中加载视图控制器,然后它才能工作。我能够调用viewDidLoad我的测试并继续。

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

我还必须进入情节提要并为此视图控制器 (MyViewControllerId) 添加情节提要 ID。

于 2017-01-06T20:33:54.877 回答