Appearance
✅ Stratégie de Tests et Qualité
Le projet SK_CAPACITOR_DISPLAY suit une stratégie de test rigoureuse pour garantir la stabilité de l'application sur un parc matériel extrêmement hétérogène (Android, LG, Samsung, Chromecast, etc.).
🏗️ Niveaux de Tests
L'application est couverte par trois niveaux de tests complémentaires :
1. Tests Unitaires & d'Intégration (Vitest)
Ces tests valident la logique métier, les services, les stores et les utilitaires de manière isolée.
- Outil : Vitest
- Emplacement : Fichiers
.spec.tsou.test.tssitués à côté du code source danssrc/. - Exécution :
npm test - Couverture notable :
cmsPipeline.spec.ts: Validation du flux de démarrage et de récupération des données.selectable.ts: Test du moteur de navigation au focus (D-pad).contextStore.test.ts: Vérification de l'injection des variables Mustache et de la localisation.appLauncher.spec.ts: Validation des stratégies de lancement d'applications par plateforme.
2. Tests End-to-End (Playwright)
Ces tests simulent des parcours utilisateurs complets dans un navigateur réel pour vérifier que les composants s'assemblent correctement.
- Outil : Playwright
- Emplacement : Dossier
tests/à la racine. - Exécution :
npm run test:e2e(ounpm run test:e2e:uipour le mode interactif). - Scénarios couverts :
focus-navigation.spec.ts: Simulation de navigation réelle avec les touches fléchées.device-detection.spec.ts: Validation de l'identification correcte du type de matériel.qr-generation.spec.ts: Vérification de l'affichage du QR Code d'association.accessibility.spec.ts: Contrôle de la structure DOM et des rôles ARIA.
3. Vérification de Type & Linting
- Typecheck :
npm run typecheck(TypeScript strict). - Linting :
npm run lint(ESLint avec règles personnalisées pour le projet). - Qualité Spécifique :
npm run lint:logs: Vérifie qu'aucunconsole.logn'a été oublié (doit utiliser le logger interne).npm run lint:preferences: Valide l'usage correct du stockage local.
📺 Tests sur Matériel Réel
En raison des spécificités des OS de Smart TV, les tests automatisés sont complétés par des validations manuelles sur périphériques physiques :
- Déploiement Android : Utilisation de
npx cap run androidpour tester sur boîtier ou TV Android. - Déploiement Tizen : Utilisation de
tizen installpour pousser le package.wgtsur une TV Samsung de test. - Debug à distance :
- Android/Chromecast : via
chrome://inspect. - LG webOS : via l'inspecteur sur le port
9998. - Samsung Tizen : via l'inspecteur Web de Tizen Studio.
- Android/Chromecast : via
🛠️ Outils de Diagnostique
L'application inclut des pages de debug internes (accessibles en mode développement) :
- Bridge Debug : Pour simuler et visualiser les messages
postMessageavec l'hôte. - Focus Debug : Overlay visuel affichant l'arborescence des éléments
Selectableet l'élément actuellement focalisé.