From 8cbd85dcce30ec68e1a31d6e73150184340d4dc9 Mon Sep 17 00:00:00 2001 From: Matt Bruce Date: Tue, 23 Dec 2025 22:15:54 -0600 Subject: [PATCH] Signed-off-by: Matt Bruce --- Blackjack/BlackjackTests/BlackjackTests.swift | 17 ++++++++ .../BlackjackUITests/BlackjackUITests.swift | 41 +++++++++++++++++++ .../BlackjackUITestsLaunchTests.swift | 33 +++++++++++++++ 3 files changed, 91 insertions(+) create mode 100644 Blackjack/BlackjackTests/BlackjackTests.swift create mode 100644 Blackjack/BlackjackUITests/BlackjackUITests.swift create mode 100644 Blackjack/BlackjackUITests/BlackjackUITestsLaunchTests.swift diff --git a/Blackjack/BlackjackTests/BlackjackTests.swift b/Blackjack/BlackjackTests/BlackjackTests.swift new file mode 100644 index 0000000..ad87f58 --- /dev/null +++ b/Blackjack/BlackjackTests/BlackjackTests.swift @@ -0,0 +1,17 @@ +// +// BlackjackTests.swift +// BlackjackTests +// +// Created by Matt Bruce on 12/17/25. +// + +import Testing +@testable import Blackjack + +struct BlackjackTests { + + @Test func example() async throws { + // Write your test here and use APIs like `#expect(...)` to check expected conditions. + } + +} diff --git a/Blackjack/BlackjackUITests/BlackjackUITests.swift b/Blackjack/BlackjackUITests/BlackjackUITests.swift new file mode 100644 index 0000000..8a3cda9 --- /dev/null +++ b/Blackjack/BlackjackUITests/BlackjackUITests.swift @@ -0,0 +1,41 @@ +// +// BlackjackUITests.swift +// BlackjackUITests +// +// Created by Matt Bruce on 12/17/25. +// + +import XCTest + +final class BlackjackUITests: XCTestCase { + + override func setUpWithError() throws { + // Put setup code here. This method is called before the invocation of each test method in the class. + + // In UI tests it is usually best to stop immediately when a failure occurs. + continueAfterFailure = false + + // In UI tests it’s important to set the initial state - such as interface orientation - required for your tests before they run. The setUp method is a good place to do this. + } + + override func tearDownWithError() throws { + // Put teardown code here. This method is called after the invocation of each test method in the class. + } + + @MainActor + func testExample() throws { + // UI tests must launch the application that they test. + let app = XCUIApplication() + app.launch() + + // Use XCTAssert and related functions to verify your tests produce the correct results. + } + + @MainActor + func testLaunchPerformance() throws { + // This measures how long it takes to launch your application. + measure(metrics: [XCTApplicationLaunchMetric()]) { + XCUIApplication().launch() + } + } +} diff --git a/Blackjack/BlackjackUITests/BlackjackUITestsLaunchTests.swift b/Blackjack/BlackjackUITests/BlackjackUITestsLaunchTests.swift new file mode 100644 index 0000000..14ae08f --- /dev/null +++ b/Blackjack/BlackjackUITests/BlackjackUITestsLaunchTests.swift @@ -0,0 +1,33 @@ +// +// BlackjackUITestsLaunchTests.swift +// BlackjackUITests +// +// Created by Matt Bruce on 12/17/25. +// + +import XCTest + +final class BlackjackUITestsLaunchTests: XCTestCase { + + override class var runsForEachTargetApplicationUIConfiguration: Bool { + true + } + + override func setUpWithError() throws { + continueAfterFailure = false + } + + @MainActor + func testLaunch() throws { + let app = XCUIApplication() + app.launch() + + // Insert steps here to perform after app launch but before taking a screenshot, + // such as logging into a test account or navigating somewhere in the app + + let attachment = XCTAttachment(screenshot: app.screenshot()) + attachment.name = "Launch Screen" + attachment.lifetime = .keepAlways + add(attachment) + } +}