所以我正试图以一种更加测试驱动的方式开始开发,学习使用测试等等,我已经遇到了一个令人烦恼的问题。
我想测试一个函数,我传递一个 NSArray 然后将暴露的 UIScrollview 子视图第三个索引(前两个是滚动插图的默认值)设置为包含有效图像的 UIImageView。
我传入的数组将是 ALAsset 类型,该方法会将图像拉出。但我还没有走到那一步。
所以我的第一个问题是......我可以模拟 UIImage 是有效的,即在这种情况下不是 nil 吗?还是应该以不同的方式编写测试?
到目前为止,这是我尝试过的
UIImage *mockImage = mock([UIImage class]);
UIImageView *imgView = [[UIImageView alloc]init];
[imgView setImage:mockImage];
NSArray *assets = @[imgView];
[SUT loadImagesForAssets:assets];
NSInteger firstViewIndexOddset = 2;
NSInteger idx = 0;
idx += firstViewIndexOddset;
UIImageView *imgViewFromSUT = [[SUT previewScrollView] subviews][idx];
XCTAssertNotNil(imgViewFromSUT.image);