prepareForSegue が実行されるように、単体テスト内でセグエを実行する方法がわかりません。
ユニットテストですべてをカバーするために最善を尽くしています。これが私が試みていることです:
- (void)setUp {
[super setUp];
_mainVC = [[UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil]
instantiateViewControllerWithIdentifier:kMainVC];
_detailsVC = [[UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil]
instantiateViewControllerWithIdentifier:kDetailsVC];
}
- (void)test_prepareForSegue_will_set_confNumber_on_DetailsVC {
UIStoryboardSegue *segue = [UIStoryboardSegue segueWithIdentifier:kDetailsSegueId source:_mainVC destination:_detailsVC performHandler:^{
// do anything here ???
}];
[segue perform];
expect(_detailsVC.textFieldStr).to.equal(@"123456abc");
}
ブレークポイントを配置すると、メイン ビュー コントローラーの prepareForSegue がヒットしないことに気付きました。