Die XCTAssert-Familie und auslösende Assertions
Verwenden Sie XCTAssertEqual, XCTAssertThrowsError und XCTUnwrap sicher.
Die XCTAssert-Familie und auslösende Assertions ist eine kostenlose Swift Academy-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Swift Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Swift Academy-Kurs umfasst insgesamt 4 Lektionen.
XCTAssert und XCTAssertTrue
XCTAssert und XCTAssertTrue schlagen fehl, wenn die Bedingung falsch ist.
XCTAssert(user.isLoggedIn)
XCTAssertTrue(cart.isEmpty, "Cart should be empty after clear()")XCTAssertFalse
XCTAssertFalse schlägt fehl, wenn die Bedingung wahr ist.
XCTAssertFalse(session.isExpired, "Fresh session should not be expired")XCTAssertEqual
XCTAssertEqual schlägt fehl, wenn die beiden Werte nicht gleich sind. Beide Werte müssen Equatable sein.
XCTAssertEqual(calculator.add(2, 3), 5)
XCTAssertEqual(user.name, "Alice", "Name should match the fixture")XCTAssertNotEqual
XCTAssertNotEqual schlägt fehl, wenn die beiden Werte gleich sind.
XCTAssertNotEqual(originalHash, updatedHash)XCTAssertNil und XCTAssertNotNil
Testen Sie Optionals: Der Test schlägt fehl, wenn der Wert nicht nil bzw. nil ist.
XCTAssertNil(service.error, "No error expected after successful fetch")
XCTAssertNotNil(result, "Result should be non-nil on success")XCTAssertThrowsError
Der Test schlägt fehl, wenn der Ausdruck KEINEN Fehler auslöst. Optional können Sie den ausgelösten Fehler untersuchen.
XCTAssertThrowsError(try parser.parse("invalid json")) { error in
XCTAssertEqual(error as? ParseError, .invalidInput)
}XCTAssertNoThrow
Der Test schlägt fehl, wenn der Ausdruck einen Fehler auslöst.
XCTAssertNoThrow(try parser.parse(validJSON))XCTUnwrap
XCTUnwrap entpackt ein Optional und lässt den Test fehlschlagen, wenn der Wert nil ist – übersichtlicher als guard let zusammen mit XCTFail.
let user = try XCTUnwrap(service.currentUser)
XCTAssertEqual(user.name, "Bob")XCTAssertEqual mit Genauigkeit
Geben Sie bei Vergleichen von Gleitkommazahlen einen Genauigkeitswert an, um Rundungsungenauigkeiten zu berücksichtigen.
XCTAssertEqual(result, 3.14159, accuracy: 0.0001)Benutzerdefinierte Fehlermeldungen
Alle XCTAssert-Funktionen akzeptieren einen optionalen Nachrichtenparameter für eine klarere Fehlerausgabe.
XCTAssertEqual(items.count, 3, "Expected 3 items after insert, got \(items.count)")XCTExpectFailure
Markieren Sie erwartete Fehler, damit sie in CI als erfolgreich gemeldet werden – nützlich für bekannte, aber noch nicht behobene Fehler.
XCTExpectFailure("Known issue: rdar://12345") {
XCTAssertEqual(brokenFunction(), expectedValue)
}Kurze Überprüfung
Welche XCTest-Funktion entpackt ein Optional sicher und lässt den Test fehlschlagen, wenn es nil ist?
Zusammenfassung der Lektion
Die XCTest-Assertion-Familie umfasst XCTAssert/True/False, XCTAssertEqual/NotEqual, XCTAssertNil/NotNil, XCTAssertThrowsError/NoThrow und XCTUnwrap. Fügen Sie immer aussagekräftige Meldungen hinzu. Verwenden Sie XCTExpectFailure für bekannte, nachverfolgte Fehler.
Häufig gestellte Fragen
Ist die Lektion „Die XCTAssert-Familie und auslösende Assertions“ kostenlos?
Ja — der vollständige Text von „Die XCTAssert-Familie und auslösende Assertions“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Swift Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Swift Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Die XCTAssert-Familie und auslösende Assertions“?
Verwenden Sie XCTAssertEqual, XCTAssertThrowsError und XCTUnwrap sicher. Du übst Swift Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Swift Academy zu starten?
Keine Vorkenntnisse erforderlich. Swift Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 4.
Wie lange dauert die Lektion „Die XCTAssert-Familie und auslösende Assertions“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Swift Academy-Lektion Code schreiben und ausführen?
Ja. Jede Swift Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- XCTestCase: Setup, Teardown und Testmethoden
- Die XCTAssert-Familie und auslösende Assertions
- Protokollbasiertes Mocking und Dependency Injection
- Asynchrone Tests und Leistungsmessung