Fiche 14.03
Fiche 14.03 — Tester un service avec mock
Objectif
Comprendre comment tester un service sans dépendre d’un vrai backend, de Firebase ou d’une connexion réseau.
Le principe : on met un protocole devant le service, puis on injecte un mock dans les tests.
1. Pourquoi mocker un service ?
Un test doit être rapide, stable et prévisible.
Si ton test dépend d’une vraie API :
- il peut échouer si internet coupe ;
- il peut échouer si le serveur change ;
- il peut être lent ;
- il peut créer de vraies données.
Avec un mock, tu contrôles exactement la réponse.
2. Définir un protocole
Swift
Le ViewModel dépend du protocole, pas d’un service concret.
Swift
3. Créer un mock de succès
Swift
Test :
Swift
4. Créer un mock d’erreur
Swift
Test :
Swift
5. Mock configurable
Tu peux aussi créer un seul mock configurable.
Swift
Utilisation :
Swift
6. Ce que ça prouve en entretien
Ce pattern montre que tu comprends :
- les protocoles ;
- l’injection de dépendance ;
- les tests unitaires ;
- l’architecture testable ;
- la séparation entre ViewModel et service réel.
Résumé
- Un service réel ne doit pas être obligatoire dans les tests.
- On définit un protocole.
- Le ViewModel dépend du protocole.
- Les tests injectent un mock de succès ou d’erreur.
- C’est une base très importante pour une app professionnelle.