feat(ios): add piRemoteUITests XCUITest target with smoke test

- New target 'piRemoteUITests' (bundle.ui-testing) in project.yml
- TEST_TARGET_NAME=piRemote, deploymentTarget 17.0
- Added to scheme 'piRemote' test targets
- UITests/SmokeUITests.swift: @MainActor smoke test verifying app launches
- Verified: xcodebuild test -only-testing:piRemoteUITests passes (5.8s)
This commit is contained in:
jay 2026-05-16 16:59:26 +02:00
parent 29de5025de
commit 413c94601f
2 changed files with 37 additions and 0 deletions

View File

@ -0,0 +1,23 @@
// SmokeUITests.swift
// Minimal smoke test verifies the UI-testing target is wired correctly.
// Real feature coverage lives in dedicated UITest files (see PairingUITests,
// SessionSwitcherUITests, etc.).
import XCTest
@MainActor
final class SmokeUITests: XCTestCase {
override func setUpWithError() throws {
continueAfterFailure = false
}
/// Launch the app and verify it shows *some* UI within a reasonable
/// timeout. This is just a wiring check feature tests assert specifics.
func testAppLaunchesWithoutCrashing() throws {
let app = XCUIApplication()
app.launch()
// Wait for any window to appear.
XCTAssertTrue(app.wait(for: .runningForeground, timeout: 10))
}
}

View File

@ -35,6 +35,7 @@ schemes:
config: Debug
targets:
- piRemoteTests
- piRemoteUITests
archive:
config: Release
@ -82,3 +83,16 @@ targets:
- path: Tests/CoreTests
dependencies:
- target: piRemote
piRemoteUITests:
type: bundle.ui-testing
platform: iOS
deploymentTarget: "17.0"
sources:
- path: UITests
settings:
base:
TEST_TARGET_NAME: piRemote
PRODUCT_BUNDLE_IDENTIFIER: de.vpsj.pi-remote.uitests
dependencies:
- target: piRemote