TestingMidMCQ

What is the difference between unit tests and UI tests?

Test your knowledge:

Explanation & Code

Answer: They test different layers of the app and run at different speeds.

Unit TestsUI Tests
WhatIsolated logicFull app user flows
SpeedVery fast (ms)Slow (seconds)
FrameworkXCTestXCUITest
DependenciesMockedReal app running
FlakinessLowHigher

Code Example:

// Unit test — tests a function in isolation
class PriceFormatterTests: XCTestCase {
    func test_formatPrice_returnsCurrencyString() {
        let formatter = PriceFormatter()
        let result = formatter.format(9.99)
        XCTAssertEqual(result, "$9.99")
    }
}

// UI test — launches the app and interacts with it
class CheckoutUITests: XCTestCase {
    let app = XCUIApplication()

    override func setUp() { app.launch() }

    func test_addToCart_showsCartBadge() {
        app.buttons["Add to Cart"].tap()
        XCTAssertTrue(app.staticTexts["1"].exists)
    }
}

Rate your understanding:

Ready to practice more Testing?

Test yourself with our interactive quiz mode or browse all curated questions for this topic.