一个对 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 会尝试将 SnapshotTestingImageRender 包添加到您项目的主应用程序/框架目标。请确保将 SnapshotTestingImageRender 添加到测试目标,如下一步所述。
https://github.com/john-flanagan/SnapshotTestingImageRender
如果您想在任何其他使用 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。