0

我正在关注这个页面来创建一个包装的 HStack。然而,HStack 异步计算它的高度,这意味着我的快照测试变得非常时髦。我在异步快照测试中查看了这一集,但它不是太清晰/有帮助。

有人可以帮助阐明如何使用 SwiftUI 快照测试库(https://github.com/pointfreeco/swift-snapshot-testing)来测试我的新(有点异步)包装的 HStack?

我遵循了这个 Gist并使用这个代码来创建快照测试:

    func test_wrappingHStack() {
        let view = ScrollView {
            VStack {
                Text("Title").font(.headline)
                WrappingHStack(models: ["Ninetendo", "XBox", "PlayStation", "PlayStation 2", "PlayStation 3", "PlayStation 4", "Apple", "Google", "Amazon", "Microsoft", "Oracle", "Facebook"]) { str in
                    Text(str)
                }
                Button("Click me") {}
            }
        }
        assertSnapshot(matching: view.toViewController(), as: .image, record: true)
    }

extension SwiftUI.View {
    func toViewController() -> UIViewController {
        let viewController = UIHostingController(rootView: self)
        viewController.view.frame = UIScreen.main.bounds
        return viewController
    }
}

我从测试中得到的截图是: 空白图像

4

0 回答 0