小编nir*_*rch的帖子

如何在UIViewController中单元测试UICollectionView

我想对UIVollection视图中的UICollectionView进行单元测试(例如,我想测试UICollectionView是否具有我希望它在单元测试中具有的单元格数)

我的单元测试基于以下博客(关于如何对视图控制器进行单元测试):http: //yetanotherdevelopersblog.blogspot.co.il/2012/03/how-to-test-storyboard-ios-view.html

在单元测试中,我能够在我正在测试的UIViewController中获得指向UICollectionView的指针.这是我的测试的setUp方法中的代码:

storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
viewController = [self.storyboard instantiateViewControllerWithIdentifier:@"MainViewController"];
[viewController performSelectorOnMainThread:@selector(loadView) withObject:nil waitUntilDone:YES];
self.collectionView = viewController.collectionView
Run Code Online (Sandbox Code Playgroud)

不幸的是,这个UICollectionView中没有单元格(即self.collectionView.visibleCells.count等于0,因此我无法访问单元格并测试数据是我期望的那样),虽然在调试时我可以看到我的应用程序将这些单元格添加到集合中视图.

我究竟做错了什么?有关如何在UIViewController中单元测试UICollectionView的任何提示和技巧?

编辑: 在Roshan的帮助之后,我现在可以缩小我的问题范围了.我正在测试一个有UICollectionView的UIViewController.在我的单元测试中,我想测试CollectionView中的单元格值是我期待它的.但是,collectionView:cellForItemAtIndexPath:我的ViewController上没有调用它,因此当作为单元测试调用时,我的单元格不存在.任何的想法?

unit-testing objective-c uiviewcontroller ios uicollectionview

6
推荐指数
1
解决办法
6463
查看次数