2

私のプロジェクトは通常、perpareForSegue:sender: メソッド内で、ある UIViewController から別の UIViewController にプロパティを渡します。私はテストに非常に慣れていないので、これはばかげた質問かもしれませんが、オンラインで答えを見つけることができませんでした.

viewDidLoad が B で呼び出されたときに、UIViewController A から渡されたプロパティが UIViewController B で nil でないことをテストしたいのですが、アプリケーション コードにテストを統合せずに単体テストを使用してこれをテストするにはどうすればよいですか?

ありがとう!

更新 1 :

私はそれを少し続けてきました。Markも同様の状況にあったようで、単体テスト内で Storyboard セグエをインスタンス化すると、performSegue を呼び出すことができることを発見しました。ただし、あるView Controllerから次のView Controllerに値を渡すようには見えません。以下の例では、ログはデバッグ ウィンドウで null を示しています。

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

performHandler は意図的に空白のままにしています。nil を使用すると、例外が発生します。近づいているようです!

4

0 に答える 0