Famiglia XCTAssert e asserzioni con errori
Utilizzare in sicurezza XCTAssertEqual, XCTAssertThrowsError e XCTUnwrap.
Famiglia XCTAssert e asserzioni con errori è una lezione Swift Academy gratuita su CoddyKit. Questa è la lezione 2 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Swift Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Swift Academy include 4 lezioni in totale.
XCTAssert e XCTAssertTrue
XCTAssert e XCTAssertTrue fanno fallire il test se la condizione è falsa.
XCTAssert(user.isLoggedIn)
XCTAssertTrue(cart.isEmpty, "Cart should be empty after clear()")XCTAssertFalse
XCTAssertFalse fa fallire il test se la condizione è vera.
XCTAssertFalse(session.isExpired, "Fresh session should not be expired")XCTAssertEqual
XCTAssertEqual fa fallire il test se i due valori non sono uguali. Entrambi i valori devono essere Equatable.
XCTAssertEqual(calculator.add(2, 3), 5)
XCTAssertEqual(user.name, "Alice", "Name should match the fixture")XCTAssertNotEqual
XCTAssertNotEqual fa fallire il test se i due valori sono uguali.
XCTAssertNotEqual(originalHash, updatedHash)XCTAssertNil e XCTAssertNotNil
Verifichi gli optional: il test fallisce rispettivamente se il valore non è nil o se è nil.
XCTAssertNil(service.error, "No error expected after successful fetch")
XCTAssertNotNil(result, "Result should be non-nil on success")XCTAssertThrowsError
Faccia fallire il test se l'espressione non genera un errore. Se necessario, analizzi l'errore generato.
XCTAssertThrowsError(try parser.parse("invalid json")) { error in
XCTAssertEqual(error as? ParseError, .invalidInput)
}XCTAssertNoThrow
Faccia fallire il test se l'espressione genera un errore.
XCTAssertNoThrow(try parser.parse(validJSON))XCTUnwrap
XCTUnwrap estrae il valore da un Optional e fa fallire il test se il valore è nil: è più pulito di guard let + XCTFail.
let user = try XCTUnwrap(service.currentUser)
XCTAssertEqual(user.name, "Bob")XCTAssertEqual con tolleranza
Per confrontare numeri in virgola mobile, specifichi un valore di tolleranza che tenga conto della precisione.
XCTAssertEqual(result, 3.14159, accuracy: 0.0001)Messaggi di errore personalizzati
Tutte le funzioni XCTAssert accettano un parametro messaggio facoltativo per rendere più chiaro l'output dei fallimenti.
XCTAssertEqual(items.count, 3, "Expected 3 items after insert, got \(items.count)")XCTExpectFailure
Contrassegni i fallimenti previsti affinché vengano segnalati come successi in CI: è utile per i bug noti ma non ancora risolti.
XCTExpectFailure("Known issue: rdar://12345") {
XCTAssertEqual(brokenFunction(), expectedValue)
}Verifica rapida
Quale funzione XCTest estrae in modo sicuro il valore da un Optional e fa fallire il test se il valore è nil?
Riepilogo della lezione
Famiglia delle asserzioni XCTest: XCTAssert/True/False, XCTAssertEqual/NotEqual, XCTAssertNil/NotNil, XCTAssertThrowsError/NoThrow e XCTUnwrap. Aggiunga sempre messaggi descrittivi. Utilizzi XCTExpectFailure per i fallimenti noti e tracciati.
Domande Frequenti
La lezione «Famiglia XCTAssert e asserzioni con errori» è gratuita?
Sì — il testo completo di «Famiglia XCTAssert e asserzioni con errori» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Swift Academy, passa a CoddyKit PRO. Il corso Swift Academy include 4 lezioni in totale.
Cosa imparerò in «Famiglia XCTAssert e asserzioni con errori»?
Utilizzare in sicurezza XCTAssertEqual, XCTAssertThrowsError e XCTUnwrap. Eserciti Swift Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Swift Academy?
Non è richiesta alcuna esperienza precedente. Swift Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 2 di 4.
Quanto tempo richiede la lezione «Famiglia XCTAssert e asserzioni con errori»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Swift Academy?
Sì. Ogni lezione Swift Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Configurazione, teardown e metodi di test di XCTestCase
- Famiglia XCTAssert e asserzioni con errori
- Mock basati su protocolli e dependency injection
- Test asincroni e misurazione delle prestazioni