gpt4 book ai didi

ios - 一种测试 prepareForSegue 是否做了它应该做的事情的方法

转载 作者:行者123 更新时间:2023-11-28 20:16:34 25 4
gpt4 key购买 nike

我不确定如何在单元测试中执行 segue 以便运行 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");
}

我注意到当我放置断点时,主视图 Controller 中的 prepareForSegue 从未命中。

最佳答案

呃。

只需在被测 ViewController 上调用 prepareForSegue :)

UIStoryboardSegue *segue = [UIStoryboardSegue segueWithIdentifier:kDetailsSegueId source:_mainVC destination:_detailsVC performHandler:^{
// do nothing here
}];

[_mainVC prepareForSegue:segue sender:self];
expect(_detailsVC.confNumber).to.equal(@"123456abc");

关于ios - 一种测试 prepareForSegue 是否做了它应该做的事情的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17842030/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com