2

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

当在 B 中调用 viewDidLoad 时,我想测试从 UIViewController A 传递的属性在 UIViewController B 中是否为零。如何在不将我的测试集成到应用程序代码中的情况下使用单元测试进行测试?

谢谢!

更新 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 会引发异常。看来我们越来越近了!

4

0 回答 0