假设我正在为视图控制器上的tableView:cellForRowAtIndexPath:
代理方法编写单元测试。这个方法根据我传入的索引路径可以返回几种不同的单元格配置。
我可以轻松地断言cell.textLabel.text
属性,但如何断言cell.imageView.image
属性包含正确的图像?无论是图像还是imageView都没有(公共API)属性可用于查找图像名称或文件名。
我想到的最好方法是创建最小可能的有效.png(在我的单元测试中使用[UIImage imageWithData:]
来避免触碰磁盘),并断言从cell.imageView.image
获取的字节数组与我期望的一致。我已经创建了一个OCHamcrest匹配器,使这个过程更加美好,但它是一个不令人满意和不灵活的方法。
有没有更好的想法?