SwiftUI:断言 sheet 可见
SwiftUI: Assert that sheet is visible
我有一个 sheet 在某个时候可见的视图。
var body: some View {
VStack {
Text("Test")
Text("Test")
}.sheet(isPresented: $isPresented, content: {
MySheet(isPresented: $isPresented)
})
}
sheet 看起来像这样:
var body: some View {
GeometryReader { metrics in
VStack (spacing:0) {
ZStack {
Color(UIColor.lightGray)
Text("header")
}.frame(width: metrics.size.width, height: metrics.size.height * 0.15)
ZStack {
Color(UIColor.darkGray)
Text("text")
}.frame(width: metrics.size.width, height: metrics.size.height * 0.85)
}
}
}
我试图测试 sheet 是否可见
XCTAssertTrue(app.textFields["header"].exists)
但这不起作用。
如何测试 sheet 是否可见?
对于 Text
您需要使用 staticTexts
容器(使用 Xcode 12.1 / iOS 14.1 测试)。 当然假设您的测试正确等待 sheet 打开。
XCTAssertTrue(app.staticTexts["header"].exists)
我有一个 sheet 在某个时候可见的视图。
var body: some View {
VStack {
Text("Test")
Text("Test")
}.sheet(isPresented: $isPresented, content: {
MySheet(isPresented: $isPresented)
})
}
sheet 看起来像这样:
var body: some View {
GeometryReader { metrics in
VStack (spacing:0) {
ZStack {
Color(UIColor.lightGray)
Text("header")
}.frame(width: metrics.size.width, height: metrics.size.height * 0.15)
ZStack {
Color(UIColor.darkGray)
Text("text")
}.frame(width: metrics.size.width, height: metrics.size.height * 0.85)
}
}
}
我试图测试 sheet 是否可见
XCTAssertTrue(app.textFields["header"].exists)
但这不起作用。 如何测试 sheet 是否可见?
对于 Text
您需要使用 staticTexts
容器(使用 Xcode 12.1 / iOS 14.1 测试)。 当然假设您的测试正确等待 sheet 打开。
XCTAssertTrue(app.staticTexts["header"].exists)