SwiftUI中的单元测试

问题描述 投票:0回答:1

我正在尝试为SwiftUI视图编写单元测试,但是在Web上找到零资源来解决这个问题。

我有如下观点

struct Page: View {
@EnvironmentObject var service: Service

var body: some View {
    NavigationView {
        ScrollView(.vertical) {
            VStack {
                Text("Some text"))
                    .font(.body)
                    .navigationBarTitle(Text("Title")))

                Spacer(minLength: 100)
            }
        }
   }
}
}

我开始写这样的测试

func testPage() {
    let page = Page().environmentObject(Service())
    let body = page.body
    XCTAssertNotNil(body, "Did not find body")
}

但是那我如何获得体内的意见呢?如何测试它们的属性?任何帮助表示赞赏。

更新:事实上,这甚至行不通。我收到以下运行时异常

Thread 1: Fatal error: body() should not be called on  ModifiedContent<Page,_EnvironmentKeyWritingModifier<Optional<Service>>>.
swift swiftui xctest
1个回答
0
投票

直到苹果

a)将可测试性设计为SwiftUI,并且

b)向我们展示了这种可测试性,

我们被搞砸了,将不得不使用UI测试来代替单元测试。

© www.soinside.com 2019 - 2024. All rights reserved.