Fiche 14.01 — Pourquoi tester et XCTest
Objectif
Comprendre à quoi servent les tests dans une app iOS et connaître les bases de XCTest.
Le but n’est pas de tout tester, mais de savoir tester la logique importante : validation, ViewModel, services, parsing, erreurs.
1. Pourquoi tester ?
Un test sert à vérifier automatiquement qu’une partie du code fonctionne encore après une modification.
Exemples utiles :
- un formulaire valide correctement un email ;
- un ViewModel passe en état
loading, puisloaded; - un service renvoie une erreur si l’API échoue ;
- un token est supprimé au logout ;
- une fonction de calcul renvoie le bon résultat.
Les tests rassurent l’équipe et évitent de casser une fonctionnalité sans s’en rendre compte.
2. Types de tests utiles au début
Pour ton niveau, les plus importants sont : tests unitaires, ViewModel et services.
3. Créer un test XCTest
Un fichier de test ressemble à ça :
@testable import MyApp permet au target de test d’accéder au code de l’app.
4. Exemple de code à tester
Tests :
5. Assertions fréquentes
Exemple :
6. Ce qu’il faut tester en priorité
Teste d’abord ce qui peut casser l’app ou coûter cher :
- validation login/register ;
- ViewModel avec état
loading/error; - mapping DTO → Model ;
- logique de session ;
- service avec réponse API simulée ;
- stockage/suppression de token.
Tu n’as pas besoin de tester chaque Text, Button ou .padding().
Résumé
- Les tests vérifient automatiquement que la logique fonctionne.
XCTestCaseest la base des tests unitaires iOS.- Les assertions comparent le résultat attendu et le résultat obtenu.
- Priorité : ViewModels, services, validation, auth, parsing et logique métier.