From 413c94601f6565dc2a9a02fef4a287b8c3ecffa5 Mon Sep 17 00:00:00 2001 From: jay Date: Sat, 16 May 2026 16:59:26 +0200 Subject: [PATCH] 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) --- UITests/SmokeUITests.swift | 23 +++++++++++++++++++++++ project.yml | 14 ++++++++++++++ 2 files changed, 37 insertions(+) create mode 100644 UITests/SmokeUITests.swift diff --git a/UITests/SmokeUITests.swift b/UITests/SmokeUITests.swift new file mode 100644 index 0000000..fb60e77 --- /dev/null +++ b/UITests/SmokeUITests.swift @@ -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)) + } +} diff --git a/project.yml b/project.yml index c8588c0..444648f 100644 --- a/project.yml +++ b/project.yml @@ -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