xctest
import XCTest
final class MathTests: XCTestCase {
func testSum() { XCTAssertEqual(2 + 2, 4) }
}
funzioni
func saluta(_ nome: String) -> String {
"ciao \(nome)"
}
print(saluta("studio"))
mantieni le funzioni corte e con output prevedibile.
error handling
enum LoadError: Error { case missing }
func load(_ ok: Bool) throws -> String {
if !ok { throw LoadError.missing }
return "ok"
}
struct e proprietà
struct Project {
let name: String
var shots: Int
}
var p = Project(name: "Nova", shots: 12)
p.shots += 1
esercizi
scrivi un test semplice con XCTAssertEqual.
import XCTest
final class CoreTests: XCTestCase {
func testCount() { XCTAssertEqual([1,2].count, 2) }
}
panoramica
In questo capitolo su testing e quality lavoriamo su xctest, funzioni, error handling, struct e proprietà per creare micro-pattern riutilizzabili.
lavora in sequenza: leggi, prova, modifica gli snippet e annota i trade-off principali.
badge: swift essentials
obiettivi
- capire e applicare xctest in uno scenario reale
- capire e applicare funzioni in uno scenario reale
- capire e applicare error handling in uno scenario reale
- capire e applicare struct e proprietà in uno scenario reale
scheda rapida
import XCTest
final class MathTests: XCTestCase {
func testSum() { XCTAssertEqual(2 + 2, 4) }
}
adatta questo scheletro agli esempi della lezione.
tips
- preferisci value types quando possibile
- usa guard per early exit
- mantieni le view leggere
- separa networking e ui
- scrivi test su logica critica
- mantieni i test piccoli e indipendenti
tip: documenta ogni scelta architetturale.
mini progetto
crea una suite di test per funzioni core.
- crea classe XCTest
- aggiungi assert
- esegui test
output atteso: test verdi.
checklist
- ho eseguito gli snippet e controllato l'output
- ho annotato almeno 2 trade-off
- ho completato il mini progetto
- ho salvato un riepilogo personale