【发布时间】:2015-08-01 11:08:08
【问题描述】:
有很多关于单元测试的资源,无论是纯粹的逻辑还是应用程序级别,我目前正在尝试测试在故事板中有 IBOutlets 的UITableViewCell,并且一些帖子已经确认我是否希望实例化故事板,然后是包含单元格的视图控制器。所以你必须通过几个步骤来确保故事板和后续元素像这样使用它们的 IBOutlets 正确加载
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
self.vc = [storyboard instantiateViewControllerWithIdentifier:@"testTableViewController"];
[self.vc performSelectorOnMainThread:@selector(loadView) withObject:nil waitUntilDone:YES];
后跟此代码从UITableViewController 获取UITableViewCell
[self.vc setTableViewData:@[@1].mutableCopy];
[self.vc.tableView reloadData];
[self.vc.tableView layoutIfNeeded];
SUT = [self.vc.tableView dequeueReusableCellWithIdentifier:@"More Menu Cell"
forIndexPath:[NSIndexPath indexPathForRow:0 inSection:0]];
这会产生一个单元格,但是对我来说,我在被测系统内的第一个断点似乎表明 IBOutlets 已加载,但是当我真正去断言任何东西时,它们突然消失了一个我.. .
引用无缘无故消失,或者我做错了什么。
【问题讨论】:
标签: ios uitableview unit-testing storyboard