如何在单元测试中测试从一个视图控制器传递到另一个视图控制器

时间:2013-08-27 20:28:54

标签: ios objective-c unit-testing uiviewcontroller

我的项目通常在perpareForSegue:sender:方法中将属性从一个UIViewController传递到另一个。我是一个非常新的测试,所以这可能是一个愚蠢的问题,但我无法在网上找到答案。

我想测试在B中调用viewDidLoad时,UIViewController B中传递的属性在UIViewController B中不是nil。如何在不将应用程序代码中的测试集成的情况下使用单元测试来测试它?

谢谢!

更新1

我一直在坚持下去。 Mark似乎有类似的情况,并发现在单元测试中实例化Storyboard segue允许他调用performSegue。但是,它似乎没有将值从一个视图控制器传递到下一个视图控制器。在下面的示例中,日志在调试窗口中显示为null:

UIStoryboardSegue *segue = [UIStoryboardSegue segueWithIdentifier:@"SegueIdentifier"
                                                           source:sourceVC
                                                      destination:destinationVC
                                                   performHandler:^{
}];
[sourceVC prepareForSegue:segue sender:self];
NSLog(@"%@", destinationVC.managedObjectContext);

有意将performHandler留空。使用nil会引发异常。看起来我们越来越近了!

0 个答案:

没有答案