Swift-Testen: Wo ein Anfänger-Entwickler beginnen sollte

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Warum Testen nicht nur ein „Häkchen“ ist, sondern Ihr Rettungsanker

\n\n

Stellen Sie sich vor: Sie haben eine tolle App in Swift geschrieben, alles funktioniert, Ihre Freunde sind begeistert. Aber eine Woche vergeht, Sie fügen eine neue Funktion hinzu – und zack! Alles ist kaputt. Kommt Ihnen das bekannt vor? Wenn nicht, sind Sie entweder ein Genie oder haben noch nie mit echter Entwicklung zu tun gehabt. Code-Testen ist keine langweilige Pflicht, sondern ein Werkzeug, das Stunden an Nerven spart und Sie zu einem selbstbewussten Entwickler macht.

\n\n

In diesem Artikel schlüsseln wir auf, wo Sie mit dem Testen in Swift beginnen können, wenn Sie ein Anfänger sind. Sie erfahren, was XCTest ist, wie man Unit-Tests und UI-Tests schreibt, und erhalten fertige Codebeispiele. Los geht's!

\n\n

Was ist Testen in Swift und warum wird es benötigt

\n\n

Testen ist der Prozess der Überprüfung, ob Ihr Code genau das tut, was Sie von ihm erwarten. In der Welt von Swift ist das wichtigste Framework dafür XCTest. Es ist in Xcode integriert und ermöglicht das Schreiben von Tests auf jeder Ebene: von der Überprüfung einer einzelnen Funktion bis zur Simulation von Benutzerklicks.

\n\n

Hier sind drei Hauptgründe, warum es sich lohnt, das Testen von Swift jetzt zu meistern:

\n
    \n
  • Vertrauen in den Code. Sie haben keine Angst mehr, etwas zu ändern oder zu refaktorisieren – die Tests sichern Sie ab.
  • \n
  • Zeitersparnis. Es ist besser, 10 Minuten für einen Test zu investieren, als 2 Stunden mit der Fehlersuche in der Produktion zu verbringen.
  • \n
  • Dokumentation. Tests sind eine lebendige Dokumentation Ihres Codes. Ein neuer Entwickler (oder Sie selbst in einem Monat) versteht die Logik ohne viele Worte.
  • \n
\n\n

Für Anfänger mag das Testen von iOS kompliziert erscheinen, aber in Wirklichkeit ist der erste Schritt in 5 Minuten gemacht.

\n\n

Umgebungseinrichtung: Erster Test in 5 Minuten

\n\n

Öffnen Sie Xcode und erstellen Sie ein neues Projekt (File → New → Project → App). Stellen Sie sicher, dass das Häkchen Include Tests aktiv ist. Xcode erstellt automatisch zwei Ziele:

\n
    \n
  • YourAppTests – für Unit-Tests.
  • \n
  • YourAppUITests – für UI-Tests.
  • \n
\n\n

Wenn das Projekt bereits existiert, fügen Sie das Testziel manuell hinzu: File → New → Target → iOS Unit Testing Bundle.

\n\n

Klicken Sie nun auf die Datei YourAppTests.swift. Sie sehen eine Vorlage einer Klasse, die von XCTestCase erbt. Löschen Sie alles und schreiben Sie Ihren ersten Test:

\n\n
import XCTest\n@testable import YourApp\n\nfinal class FirstTests: XCTestCase {\n\n    func testExample() {\n        let result = 2 + 2\n        XCTAssertEqual(result, 4, "Mathematik hat versagt!")\n    }\n}\n
\n\n

Klicken Sie auf die Raute links neben der Zeile mit func testExample und wählen Sie Test. Wenn ein grünes Häkchen erscheint – haben Sie gerade Ihren ersten Unit-Test in Swift geschrieben! Herzlichen Glückwunsch.

\n\n

Beachten Sie @testable import YourApp. Dies ist eine Schlüsselzeile: Sie gewährt Zugriff auf die internal-Klassen Ihrer App, damit die Tests sie sehen können.

\n\n

Unit-Tests: Überprüfung der App-Logik

\n\n

Unit-Tests sind die Grundlage. Sie überprüfen einzelne Funktionen, Methoden oder Klassen. Lassen Sie uns einen Test für einen einfachen Taschenrechner schreiben.

\n\n

Code zum Testen erstellen

\n\n

Fügen Sie eine neue Swift-Datei zum Hauptziel hinzu (nicht zu den Tests!) mit der Klasse:

\n\n
import Foundation\n\nstruct Calculator {\n    func add(_ a: Int, _ b: Int) -> Int {\n        return a + b\n    }\n    \n    func divide(_ a: Int, _ b: Int) throws -> Int {\n        guard b != 0 else {\n            throw CalculationError.divisionByZero\n        }\n        return a / b\n    }\n}\n\nenum CalculationError: Error {\n    case divisionByZero\n}\n
\n\n

Tests schreiben

\n\n

In der Testdatei (erinnern Sie sich, sie befindet sich in der Gruppe YourAppTests) schreiben wir:

\n\n
import XCTest\n@testable import YourApp\n\nfinal class CalculatorTests: XCTestCase {\n\n    var calculator: Calculator!\n\n    override func setUpWithError() throws {\n        calculator = Calculator()\n    }\n\n    override func tearDownWithError()                

Blogs

Buchempfehlungen