EarlGreySnapshots 0.0.4

EarlGreySnapshots 0.0.4

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布最后发布2017年10月
SwiftSwift版本4.0
SPM支持SPM

Jakub TurekMateusz Szklarek维护。



 
依赖
EarlGrey~> 1.12
FBSnapshotTestCase~> 2.1
 




EarlGreyFBSnapshotTestCase提供动作。提供Nimble Snapshots的功能测试对齐。

用法

在库之前,您需要将项目与EarlGrey库集成。强烈建议遵循官方安装指南并为特性测试创建单独的测试目标,因为它们的可靠性不如常规单元测试。

接下来,请确保定义两个环境变量,它们分别指向

  • FB_REFERENCE_IMAGE_DIR - 且包含参照快照的目录,
  • IMAGE_DIFF_DIR - 且包含失败快照和视觉差异的目录。

这些变量的合理默认值如FBSnapshotTestCase的README中提出的)

名称
FB_REFERENCE_IMAGE_DIR $(SOURCE_ROOT)/$(PROJECT_NAME)Tests/ReferenceImages
IMAGE_DIFF_DIR $(SOURCE_ROOT)/$(PROJECT_NAME)Tests/FailureDiffs

现在您可以得到您首个参考快照。使用EarlGrey的选择API选择参考元素,并调用grey_recordSnapshot()动作

EarlGrey.select(elementWithMatcher: grey_kindOfClass(AViewToSnapshotClass.self))
    .assert(grey_recordSnapshot())

运行测试目标。测试应该因以下错误而失败

Image recorded successfully! Replace with grey_verifySnapshot().

在遵循指示后,您应将测试更改为以下:

EarlGrey.select(elementWithMatcher: grey_kindOfClass(AViewToSnapshotClass.self))
    .assert(grey_verifySnapshot())

就这样了!从现在开始测试将会验证选定的视图是否与引用快照匹配。

设备无关快照

使用grey_recordSnapshot()grey_verifySnapshot()在针对具有不同分辨率和像素密度的设备执行测试时将不起作用。要启用此类测试,您应该使用grey_recordDeviceAgnosticSnapshot()grey_verifyDeviceAgnosticSnapshot()API代替。它们会比较按测试名称匹配的快照和设备类型,这意味着您必须为所有支持的设备类型记录单独的快照。

要求

EarlGreySnapshots将两个库连接在一起

确保在项目中安装它们。

安装

EarlGreySnapshots可通过CocoaPods获取。要安装,
只需将以下行添加到您的Podfile中

pod 'EarlGrey', '~> 1.12'
pod 'FBSnapshotTestCase', '~> 2.1'
pod 'EarlGreySnapshots', '~> 0.0.4'

别忘了之后运行pod install

示例项目

要运行示例项目,请克隆仓库,然后首先从示例目录中运行pod install

致谢

项目大量借鉴了Nimble Snapshots中找到的想法。对@ashfurrow和其他维护者给予巨大赞誉。

作者

turekj, [email protected]

许可证

EarlGreySnapshots项目遵循MIT许可协议。请参阅LICENSE文件获取更多信息。