XCTAssert-familien og assertions med fejl
Brug XCTAssertEqual, XCTAssertThrowsError og XCTUnwrap sikkert.
XCTAssert-familien og assertions med fejl er en gratis Swift Academy-lektion på CoddyKit. Dette er lektion 2 af 4. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i Swift Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Swift Academy-kurset indeholder 4 lektioner i alt.
XCTAssert og XCTAssertTrue
XCTAssert og XCTAssertTrue får testen til at mislykkes, hvis betingelsen er falsk.
XCTAssert(user.isLoggedIn)
XCTAssertTrue(cart.isEmpty, "Cart should be empty after clear()")XCTAssertFalse
XCTAssertFalse får testen til at mislykkes, hvis betingelsen er sand.
XCTAssertFalse(session.isExpired, "Fresh session should not be expired")XCTAssertEqual
XCTAssertEqual får testen til at mislykkes, hvis de to værdier ikke er ens. Begge værdier skal være Equatable.
XCTAssertEqual(calculator.add(2, 3), 5)
XCTAssertEqual(user.name, "Alice", "Name should match the fixture")XCTAssertNotEqual
XCTAssertNotEqual får testen til at mislykkes, hvis de to værdier er ens.
XCTAssertNotEqual(originalHash, updatedHash)XCTAssertNil og XCTAssertNotNil
Test valgfrie værdier: Få testen til at mislykkes, hvis værdien ikke er nil, eller hvis den er nil.
XCTAssertNil(service.error, "No error expected after successful fetch")
XCTAssertNotNil(result, "Result should be non-nil on success")XCTAssertThrowsError
Få testen til at mislykkes, hvis udtrykket IKKE kaster en fejl. Du kan eventuelt undersøge den kastede fejl.
XCTAssertThrowsError(try parser.parse("invalid json")) { error in
XCTAssertEqual(error as? ParseError, .invalidInput)
}XCTAssertNoThrow
Få testen til at mislykkes, hvis udtrykket kaster en fejl.
XCTAssertNoThrow(try parser.parse(validJSON))XCTUnwrap
XCTUnwrap pakker en Optional ud og får testen til at mislykkes, hvis værdien er nil — mere enkelt end guard let + XCTFail.
let user = try XCTUnwrap(service.currentUser)
XCTAssertEqual(user.name, "Bob")XCTAssertEqual med nøjagtighed
Ved sammenligninger af flydende kommatal skal du angive en nøjagtighedsværdi for at tage højde for præcision.
XCTAssertEqual(result, 3.14159, accuracy: 0.0001)Tilpassede fejlmeddelelser
Alle XCTAssert-funktioner accepterer en valgfri meddelelsesparameter, så fejloutputtet bliver tydeligere.
XCTAssertEqual(items.count, 3, "Expected 3 items after insert, got \(items.count)")XCTExpectFailure
Markér forventede fejl, så de rapporteres som succeser i CI — nyttigt ved kendte, men endnu ikke rettede fejl.
XCTExpectFailure("Known issue: rdar://12345") {
XCTAssertEqual(brokenFunction(), expectedValue)
}Hurtig kontrol
Hvilken XCTest-funktion pakker en Optional sikkert ud og får testen til at mislykkes, hvis værdien er nil?
Opsummering af lektionen
XCTest-familien af påstandsfunktioner: XCTAssert/True/False, XCTAssertEqual/NotEqual, XCTAssertNil/NotNil, XCTAssertThrowsError/NoThrow, XCTUnwrap. Tilføj altid beskrivende meddelelser. Brug XCTExpectFailure til kendte fejl, der følges.
Lær Swift med en AI-underviser — gratis
Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.
- Kurser
- 122
- Lektioner
- 409
Ofte stillede spørgsmål
Er lektionen “XCTAssert-familien og assertions med fejl” gratis?
Ja — alle 3 lektioner i læringssporet Swift Academy, inklusive “XCTAssert-familien og assertions med fejl”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Swift Academy-kurset indeholder 4 lektioner i alt.
Hvad lærer jeg i “XCTAssert-familien og assertions med fejl”?
Brug XCTAssertEqual, XCTAssertThrowsError og XCTUnwrap sikkert. Du øver dig i Swift Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.
Skal jeg have erfaring for at begynde på Swift Academy?
Der kræves ingen tidligere erfaring. Swift Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 2 af 4.
Hvor lang tid tager lektionen “XCTAssert-familien og assertions med fejl”?
De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.
Kan jeg skrive og køre kode i denne Swift Academy-lektion?
Ja. Alle Swift Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.
Alle lektioner i dette kursus
- XCTestCase: opsætning, nedbrydning og testmetoder
- XCTAssert-familien og assertions med fejl
- Protokolbaseret mocking og dependency injection
- Async-tests og måling af ydeevne