Swift:
Skriva tester

Hur:

Swift stöder testning genom sitt XCTest-ramverk, som är integrerat i Xcode. Du kan skriva enhetstester för att verifiera individuella delar av din kod, till exempel en funktion som beräknar summan av två tal.

import XCTest
@testable import YourApp

class YourAppTests: XCTestCase {

    func testSum() {
        let result = Calculator().sum(a: 1, b: 2)
        XCTAssertEqual(result, 3, "Summafunktionen returnerade inte det förväntade värdet.")
    }
}

För att köra detta test skulle du vanligtvis trycka på Command-U i Xcode. Utdata i Xcodes testnavigerare kommer att tala om för dig om testet lyckades eller misslyckades.

Till exempel, en lyckad testutdata:

Testfall '-[YourAppTests testSum]' lyckades (0.005 sekunder).

För mer avancerade testscenarier, kan du använda tredjepartsbibliotek som Quick/Nimble, vilka erbjuder en mer uttrycksfull syntax för att skriva tester.

Med Quick/Nimble kan du skriva samma test så här:

// Lägg till Quick och Nimble i din Swift pakethanterare eller använd CocoaPods/Carthage för att installera dem
import Quick
import Nimble
@testable import YourApp

class CalculatorSpec: QuickSpec {
    override func spec() {
        describe("Kalkylatorn") {
            context("när den summerar tal") {
                it("bör den returnera den korrekta summan") {
                    let calculator = Calculator()
                    expect(calculator.sum(a: 1, b: 2)).to(equal(3))
                }
            }
        }
    }
}

Att köra detta test skulle ge dig liknande utdata i din testkonsol eller CI/CD-verktygs logg, som anger om testet lyckades eller misslyckades, med ett mer läsbart format för att beskriva tester och förväntningar.