uber

ios-snapshot-test-case

uber

一款用于iOS的视图单元测试框架,通过对比视图的屏幕截图与参考图来验证UI的正确性。

8.0.0
发布于
2021年10月22日
1,865
星标
71,716
下载
同步于
1 天前

最新版本

8.0.02021年10月22日 11:40
下载慢?可在上方随时切换镜像源

项目说明

项目概述

iOSSnapshotTestCase(原FBSnapshotTestCase)是一个用于iOS的视图单元测试框架。它能够对UIView或CALayer进行截图,并与代码库中存储的参考图像进行比对,若两者不一致则测试失败。这解决了UI代码难以进行逻辑测试的痛点。

主要功能

  • 快照测试:自动捕获并对比视图的屏幕截图。
  • 清晰的失败反馈:当测试失败时,会提供图像差异,直观显示变化。
  • 易于集成:支持CocoaPods、Carthage和Swift Package Manager。
  • 自动化命名:根据测试类和选择器自动命名参考图像。

适用人群

  • iOS开发者
  • 需要确保UI组件在各种状态下显示正确的团队
  • 希望将UI测试自动化的质量保证工程师

快速上手

  1. 通过CocoaPods、Carthage或Swift Package Manager将框架添加到项目中。
  2. 在测试Scheme中设置FB_REFERENCE_IMAGE_DIR环境变量,指向存储参考图像的目录。
  3. 创建一个继承自FBSnapshotTestCase的测试类,并在测试方法中调用FBSnapshotVerifyView。
  4. 首次运行测试时,在setUp方法中开启self.recordMode = YES;来生成参考图像。
  5. 关闭记录模式,再次运行测试进行验证。

核心优势

  • 直观验证:通过图像差异直观展示UI的变化。
  • 减少断言:用视觉对比代替繁琐的矩形断言。
  • 社区支持:源自Uber和Facebook,有良好的社区基础。

系统要求

  • 操作系统:iOS、macOS(用于测试)

历史版本

排序