如何在 SwiftUI 项目中进行基本测试?

How to do basic testing in a SwiftUI project?

我有这个超级基本的应用程序,当你按下按钮时它会改变圆圈的颜色:

struct ContentView: View {
    @State private var color: Color = .red
    
    var body: some View {
        VStack {
            Circle()
                .frame(width: 100, height: 100)
                .foregroundColor(color)
            
            Button("Press me") {
                color = color == .red ? .blue : .red
            }
        }
    }
}

我想做的就是编写一个测试来检查按钮是否适当地改变了圆圈的颜色。

我刚刚阅读了 Xcode 的所有单元测试和 UI 测试功能,但我不确定如何去做。根据我在网上阅读的资源,他们都推荐快照测试或使用名为 ViewInspector 的包。然而,我只是想尝试一下 Xcode 的内置功能,而不是在寻找任何严格的测试框架或方法。有人能告诉我 Apple 建议如何测试 SwiftUI 视图吗?如果没有 official/recommended 方法,有人可以告诉我如何编写 unit/UI 测试来检查圆圈的颜色是否适当改变。

提前致谢!

表示

XCTest is for functional testing, rather than asserting visual requirements

这是真的。那么如果不想安装ViewInspector依赖怎么办,可以

  1. 使您的 @State var color: Color 具有默认访问修饰符。
  2. 具有切换颜色的功能
  3. 创建 View
  4. 的实例
  5. 测试一下。

参考下面的截图。请注意,这是在操场上完成的,但在实际项目中也可以参考