SnapshotTestingImageRender

一个对 SnapshotTesting 的扩展,它添加了一个使用 SwiftUI.ImageRender 的 SwiftUI 快照策略来对 View 进行快照。

用法

一旦安装完毕,无需额外配置。 您可以导入 ImageRenderSnapshotStrategy 模块,按照他们的用法指南调用 SnapshotTesting,但提供如下所示的 .imageRender 策略。

import XCTest
import SnapshotTesting
import SnapshotTestingImageRender

class ContentViewTests: XCTestCase {
  func testSnapshots() {
    let view = ContentView()
    assertSnapshot(matching: view, as: .imageRender)
  }
}

安装

Xcode 11

⚠️警告:默认情况下,Xcode 会尝试将 SnapshotTestingImageRender 包添加到您项目的主应用程序/框架目标。请确保将 SnapshotTestingImageRender 添加到测试目标,如下一步所述。

  1. File 菜单中,依次导航到 Swift Packages 并选择 Add Package Dependency…
  2. 输入包存储库 URL: https://github.com/john-flanagan/SnapshotTestingImageRender
  3. 确认版本并让 Xcode 解析包
  4. 在最终对话框中,更新 SnapshotTestingImageRender 的 Add to Target 列到将包含快照测试的测试目标(如果您有多个测试目标,您稍后可以通过手动链接其构建阶段中的库来将 SnapshotTestingImageRender 添加到它们)

Swift Package Manager

如果您想在任何其他使用 Swift Package Manager 的项目中使用 SnapshotTestingImageRender,请将该包作为 Package.swift 中的依赖项添加。

dependencies: [
  .package(url: "https://github.com/john-flanagan/SnapshotTestingImageRender.git", from: "1.0.0"),
]

接下来,将 SnapshotTestingImageRender 添加为您的测试目标的依赖项

targets: [
  .target(
    name: "MyApp"
  ),

  .testTarget(
    name: "MyAppTests",
    dependencies: [
      .target(name: "MyApp"),
      .product(name: "SnapshotTestingImageRender", package: "SnapshotTestingImageRender"),
    ]
  ),
]

许可证

此库根据 MIT 许可证发布。 有关详细信息,请参见 LICENSE