{"product_id":"110201","title":"Introduction aux tests pour le développement front-end ","description":"\u003ccenter\u003e\u003cdiv style=\"text-align:center\"\u003e\u003cimg src=\"https:\/\/tmgdisk01.cafe24.com\/images\/vs\/4172\/sv\/uOtJ74PFr1VijyEXQ6JsN99pMfj.png?v=1765096420\" style=\"max-width:100%;max-height:10px\"\u003e\u003c\/div\u003e\u003c\/center\u003e\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\u003ccenter\u003e\n\n\u003cdiv style=\"width:95%\"\u003e\n\n\u003cdiv style=\"text-align:center;font-size:30px;font-weight:bolder;line-height:1.6em\"\u003e Introduction aux tests pour le développement front-end \u003c\/div\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003cdiv style=\"border-bottom:1px;border-bottom-style:dotted;border-color:;padding-bottom:20px\"\u003e\u003ccenter\u003e\u003ctable align=\"center\" width=\"100%\"\u003e\u003ctbody style=\"border:0px\"\u003e\n\n\u003ctr\u003e\u003ctd align=\"center\" style=\"line-height:1.2em;text-align:center;font-size:18px;color:black;font-weight:bold;padding-bottom:20px;\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\n\n\u003ctr\u003e\u003ctd style=\"text-align:center\"\u003e\u003cimg src=\"https:\/\/image.yes24.com\/goods\/127005970\/XL\" style=\"max-width:100%;height:auto\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\n\n\n\u003c\/tbody\u003e\u003c\/table\u003e\u003c\/center\u003e\u003c\/div\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003cdiv style=\"width:95%;{split_style6}padding-top:20px;padding-bottom:20px\"\u003e\n\n\u003cdiv style=\"text-align:left;font-size:16px;font-weight:bold;padding-bottom:20px\"\u003e Description \u003c\/div\u003e\n\n\u003cdiv style=\"text-align:left;word-break:break-all;font-size:14px;line-height:1.6em;\"\u003e\n\n\u003cdiv\u003e\u003ch5\u003e \u003cb\u003eIntroduction au livre\u003c\/b\u003e\n\u003c\/h5\u003e\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv\u003e\u003cdiv\u003e \u003cb\u003eStratégies d'automatisation des tests utiles à connaître dès maintenant\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003e Dans les applications web modernes, l'automatisation des tests est cruciale pour la qualité et la maintenabilité, mais de nombreux développeurs ont du mal à écrire du code de test car ils manquent d'expérience dans ce domaine.\u003cbr\u003e Ce livre s'adresse aux développeurs front-end qui écrivent du code de test pour la première fois et explique non seulement la méthode de base d'écriture de code de test, mais aussi la méthode d'écriture de code de test adaptée à chaque situation et comment utiliser divers outils, avec de nombreux exemples.\u003cbr\u003e Il comprend notamment des exemples créés avec TypeScript et Next.js, vous permettant d'acquérir les connaissances et le savoir-faire pratiques les plus récents. \u003cbr\u003eLa version coréenne a été encore améliorée par l'ajout de tests de composants d'interface utilisateur et de tests E2E dans GitHub Actions en annexes.\u003cbr\u003e\n\n\u003c\/div\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cul\u003e\u003cli\u003e Vous pouvez consulter un aperçu du contenu du livre.\u003cbr\u003e \u003cspan\u003eAperçu\u003c\/span\u003e\n\n\u003c\/li\u003e\u003c\/ul\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cbr\u003e\u003cdiv\u003e\u003ch5\u003e \u003cb\u003eindice\u003c\/b\u003e\n\u003c\/h5\u003e\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv\u003e Préface du traducteur xiii\u003cbr\u003e Avis du lecteur bêta xv\u003cbr\u003e Début XVI\u003cbr\u003e À propos de ce livre xvii\u003cbr\u003e\u003cbr\u003e \u003cb\u003eCHAPITRE 1 : OBJECTIFS ET OBSTACLES DES ESSAIS 1\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003e 1.1 Structure de ce livre 1\u003cbr\u003e 1.2 Pourquoi rédiger des tests 4\u003cbr\u003e 1.3 Obstacles à la rédaction des tests 9\u003cbr\u003e\u003cbr\u003e \u003cb\u003eCHAPITRE 2 MÉTHODES ET STRATÉGIES D'ESSAI 13\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003e 2.1 Portée et objectif du test 13\u003cbr\u003e 2.2 Étendue des tests frontaux 15\u003cbr\u003e 2.3 Objectif des tests front-end 18\u003cbr\u003e 2.4 Modèle de stratégie de test 21\u003cbr\u003e 2.5 Planification de la stratégie de test 23\u003cbr\u003e\u003cbr\u003e \u003cb\u003eCHAPITRE 3 Tests unitaires pour débutants 27\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003e 3.1 Préférences 27\u003cbr\u003e 3.2 Composants de test 28\u003cbr\u003e 3.3 Comment exécuter des tests 31\u003cbr\u003e 3.4 Branchement conditionnel 35\u003cbr\u003e 3.5 Cas particuliers et gestion des exceptions 37\u003cbr\u003e 3.6 Correspondance par objectif 43\u003cbr\u003e 3.7 Test de traitement asynchrone 48\u003cbr\u003e\u003cbr\u003e \u003cb\u003eCHAPITRE 4 : L'objet arbre 53\u003c\/b\u003e\u003cbr\u003e \u003cbr\u003e4.1 Pourquoi utiliser un objet arbre ? 53\u003cbr\u003e 4.2 Stub 55 utilisant le module de cou\u003cbr\u003e 4.3 Notions de base des objets factices d'API Web 59\u003cbr\u003e 4.4 Fonction de création d'objet simulé de l'API Web 64\u003cbr\u003e 4.5 Spy 68 utilisant la fonction cou\u003cbr\u003e 4.6 Détails de l'objet simulé de l'API Web 72\u003cbr\u003e 4.7 Tests dépendant de l'heure actuelle 75\u003cbr\u003e\u003cbr\u003e \u003cb\u003eCHAPITRE 5 : Tests des composants d’interface utilisateur 79\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003e 5.1 Principes de base des tests de composants d'interface utilisateur 79\u003cbr\u003e 5.2 Installation de la bibliothèque 82\u003cbr\u003e 5.3 Tester les composants d'interface utilisateur pour les débutants 84\u003cbr\u003e 5.4 Test du composant d'interface utilisateur Liste d'éléments 89\u003cbr\u003e 5.5 Test des composants d'interface utilisateur interactifs 94\u003cbr\u003e 5.6 Tests de base avec les fonctions utilitaires\u003cbr\u003e 5.7 Test des composants d'interface utilisateur avec traitement asynchrone 108\u003cbr\u003e 5.8 Tests d'instantanés des composants d'interface utilisateur 114\u003cbr\u003e 5.9 Rôles implicites et noms accessibles 118\u003cbr\u003e\u003cbr\u003e \u003cb\u003eCHAPITRE 6 Lecture du rapport de couverture 125\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003e 6.1 Aperçu du rapport de couverture 125\u003cbr\u003e 6.2 Lecture du rapport de couverture 127\u003cbr\u003e 6.3 Reporter personnalisé 132\u003cbr\u003e\u003cbr\u003e \u003cb\u003eCHAPITRE 7 Tests d'intégration d'applications Web 135\u003c\/b\u003e\u003cbr\u003e \u003cbr\u003e7.1 Développement et tests d'intégration d'applications Next.js 135\u003cbr\u003e 7.2 Tests d'intégration avec React Context 137\u003cbr\u003e 7.3 Test de l'intégration du routeur et du rendu Next.js 141\u003cbr\u003e 7.4 Tests d'intégration du routeur et des entrées Next.js 145\u003cbr\u003e 7.5 Gérez facilement les formulaires avec React Hook Form 149\u003cbr\u003e 7.6 Tests de validation de formulaire 151\u003cbr\u003e 7.7 MSW 159 Simulation des réponses de l'API Web\u003cbr\u003e 7.8 Tests d'intégration d'API Web 161\u003cbr\u003e 7.9 Test d'intégration du téléchargement d'images 167\u003cbr\u003e\u003cbr\u003e \u003cb\u003eCHAPITRE 8 Explorateur de composants d'interface utilisateur 175\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003e 8.1 Principes de base des livres d'histoires 175\u003cbr\u003e 8.2 Module complémentaire essentiel pour livres d'histoires 180\u003cbr\u003e 8.3 Enregistrement d'une histoire s'appuyant sur l'API Context 185\u003cbr\u003e 8.4 Enregistrement d'une histoire s'appuyant sur une API Web 188\u003cbr\u003e 8.5 Enregistrement d'une story qui utilise le routeur Next.js 192\u003cbr\u003e 8.6 Tests d'interaction à l'aide de la fonction Play 193\u003cbr\u003e 8.7 Tests d'accessibilité avec addon-a11y 198\u003cbr\u003e 8.8 Storybook Test Runner 202\u003cbr\u003e 8.9 Réutilisation des scénarios dans les tests d'intégration 207\u003cbr\u003e\u003cbr\u003e \u003cb\u003eCHAPITRE 9 Tests de régression visuelle 211\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003e 9.1 Nécessité de tests de régression visuelle 211\u003cbr\u003e 9.2 Comparaison d'images avec reg-cli 214 \u003cbr\u003e9.3 Introduction des Story Caps 218\u003cbr\u003e 9.4 Présentation de la suite de réglementation 222\u003cbr\u003e 9.5 Configuration des services de stockage externe 228\u003cbr\u003e 9.6 Intégration de reg-suite à GitHub Actions 232\u003cbr\u003e 9.7 Refactorisation active avec tests de régression visuelle 236\u003cbr\u003e\u003cbr\u003e \u003cb\u003eCHAPITRE 10 Tests E2E 239\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003e 10.1 Qu'est-ce qu'un test E2E ? 239\u003cbr\u003e 10.2 Installation et fondation de l'éclairage de jeu 242\u003cbr\u003e 10.3 Applications à tester 246\u003cbr\u003e 10.4 Exécution de tests E2E dans un environnement de développement 250\u003cbr\u003e 10.5 Test 254 utilisant Prisma\u003cbr\u003e 10.6 Fonction de connexion Test E2E 259\u003cbr\u003e 10.7 Test de fonctionnalité de profil E2E 263\u003cbr\u003e 10.8 Fonction Like Test E2E 266\u003cbr\u003e 10.9 Nouvelle page créée Test E2E 269\u003cbr\u003e 10.10 Article Modifier la page Test E2E 272\u003cbr\u003e 10.11 Liste des articles publiés Page Test E2E 275\u003cbr\u003e 10.12 Comment gérer les tests instables 278\u003cbr\u003e\u003cbr\u003e \u003cb\u003eANNEXE A Annexe coréenne : Exécution des tests de composants d’interface utilisateur dans GitHub Actions 281\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003e A.1 Exercices pratiques sur GitHub Actions 281\u003cbr\u003e A.2 Comment créer un fichier de flux de travail 288\u003cbr\u003e A.3 Optimisation du flux de travail par parallélisation des tâches 291\u003cbr\u003e \u003cbr\u003e\u003cb\u003eANNEXE B Annexe coréenne : Exécution de tests E2E dans GitHub Actions 299\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003e B.1 Exécution de tests E2E dans GitHub Actions 299\u003cbr\u003e B.2 Comment écrire un Dockerfile 301\u003cbr\u003e B.3 Comment écrire un fichier Docker Compose 304\u003cbr\u003e\u003cbr\u003e Recherche 310\u003c\/div\u003e\n\u003cdiv\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cbr\u003e\u003cdiv\u003e\u003ch5\u003e \u003cb\u003eImage détaillée\u003c\/b\u003e \u003c\/h5\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cdiv\u003e\u003cimg src=\"https:\/\/image.yes24.com\/momo\/TopCate4522\/MidCate003\/452129588.jpg\" border=\"0\" alt=\"Image détaillée 1\"\u003e\u003c\/div\u003e\u003c\/div\u003e\n\u003cbr\u003e\u003cdiv\u003e\u003ch5\u003e \u003cb\u003eDans le livre\u003c\/b\u003e\n\u003c\/h5\u003e\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv\u003e\n\u003cdiv\u003e Les modifications de code ne sont pas seulement nécessaires lors du développement de nouvelles fonctionnalités.\u003cbr\u003e Le développement front-end moderne repose sur de nombreuses bibliothèques ; la mise à jour de ces bibliothèques nécessite donc également de modifier votre code.\u003cbr\u003e Bien sûr, si vous utilisez Dependabot, celui-ci vérifiera automatiquement les vulnérabilités pouvant survenir lors de la mise à jour des bibliothèques dépendantes et créera une demande d'extraction.\u003cbr\u003e Cependant, il ne faut pas supposer que Defenderbot filtrera toutes les vulnérabilités.\u003cbr\u003e Si vous avez écrit du code de test, vous devriez établir une règle telle que « les mises à jour mineures peuvent être fusionnées si les tests réussissent ».\u003cbr\u003e \u003cbr\u003e--- p.6\u003cbr\u003e\u003cbr\u003e La refactorisation peut être effrayante lorsque votre projet publié ne comporte aucun code de test.\u003cbr\u003e Vous devriez commencer par organiser les fonctionnalités publiées dans une liste.\u003cbr\u003e Une fois le problème résolu, rédigez des tests de régression pour vérifier qu'aucun défaut ne survient avant ou après la modification.\u003cbr\u003e Une fois les tests de régression rédigés, vous pouvez entamer la refactorisation en toute confiance.\u003cbr\u003e\u003cbr\u003e --- p.23\u003cbr\u003e\u003cbr\u003e Plus un test est similaire à l'environnement d'exécution réel, plus il est reproductible.\u003cbr\u003e Cependant, à mesure que la reproductibilité augmente, le temps d'exécution peut devenir trop long ou la configuration de l'environnement peut devenir difficile.\u003cbr\u003e Un cas typique se présente lorsque vous devez traiter des données obtenues à partir d'une API web, et que, lors de l'obtention de ces données, l'opération échoue parfois pour des raisons telles qu'une erreur réseau.\u003cbr\u003e Lorsque vous utilisez des API web, vous devez tester non seulement le « cas de succès », mais aussi le « cas d'échec ».\u003cbr\u003e Si l'opération réussit, vous pouvez la tester en connectant le serveur API Web réel à l'environnement de test. \u003cbr\u003eIl n'est pas correct d'ajouter du code au serveur d'API Web pour tester les cas de défaillance.\u003cbr\u003e De plus, il est impossible d'ajouter une implémentation de test à l'API web d'un service externe.\u003cbr\u003e\u003cbr\u003e --- p.53\u003cbr\u003e\u003cbr\u003e La couverture est un indicateur quantitatif qui peut être mesuré objectivement.\u003cbr\u003e Selon le projet, elle sert également de norme de qualité à respecter.\u003cbr\u003e Par exemple, il peut être utilisé pour créer un pipeline tel que « Si la couverture de la branche n'est pas supérieure à 80 %, elle ne passe pas l'intégration continue ».\u003cbr\u003e (...) La couverture est utilisée comme déclencheur pour examiner si des tests doivent être ajoutés à un fichier spécifique.\u003cbr\u003e Il est également utile pour trouver du code dupliqué qui a passé ESLint mais qui subsiste.\u003cbr\u003e Nous recommandons de consulter les rapports de couverture afin de déterminer s'il existe des domaines qui n'ont pas été suffisamment testés avant leur mise en production.\u003cbr\u003e\u003cbr\u003e --- p.132\u003cbr\u003e\u003cbr\u003e Le module d'exécution de tests de Storybook convertit les histoires en tests exécutables. \u003cbr\u003eLes scénarios convertis en tests sont exécutés dans Jest et Playrite.\u003cbr\u003e Cette fonctionnalité peut être utilisée pour effectuer des tests de fumée sur le Storybook, ainsi que pour vérifier si la fonction de lecture que nous avons examinée précédemment s'est déroulée normalement et s'il existe des violations d'accessibilité ; elle peut donc également être utilisée pour tester les composants d'interface utilisateur.\u003cbr\u003e\u003cbr\u003e --- p.202\u003cbr\u003e\u003cbr\u003e Les tests E2E côté client permettent de tester au plus près de l'application réelle, car ils peuvent utiliser un navigateur.\u003cbr\u003e Il est idéal pour les situations où vous devez utiliser des API spécifiques au navigateur ou effectuer des tests tout en déplaçant l'écran.\u003cbr\u003e (...) L'élément le plus important dans les tests E2E est de définir clairement l'objectif de ce qui doit être testé.\u003cbr\u003e L'application proprement dite se connecte à un serveur de base de données ou à un service de stockage externe.\u003cbr\u003e Dans les tests E2E, un critère important est la capacité de l'ensemble de la structure, y compris ces systèmes, à reproduire fidèlement une situation réaliste.\u003cbr\u003e\n\n\u003c\/div\u003e  \u003cdiv\u003e--- p.239\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cbr\u003e\u003cdiv\u003e\u003ch5\u003e \u003cb\u003eAvis de l'éditeur\u003c\/b\u003e\n\u003c\/h5\u003e\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv\u003e \u003cb\u003eTrouvez la méthode de test qui vous convient parmi les nombreuses méthodes disponibles et améliorez votre efficacité au travail.\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003e Le développement front-end a connu de nombreux changements ces dernières années avec l'émergence de bibliothèques et de frameworks puissants.\u003cbr\u003e Les technologies front-end modernes, notamment les applications monopages, ont déjà été adoptées par de nombreux produits et sont devenues des standards de facto.\u003cbr\u003e Contrairement aux changements survenus dans l'environnement de développement, de nombreux développeurs ont du mal à écrire du code de test.\u003cbr\u003e De plus, il existe tellement de méthodes de test pour les tests front-end, telles que les tests de composants d'interface utilisateur, les tests de régression visuelle, les storybooks et les tests E2E, qu'il n'est pas facile de déterminer quand et quels tests sont nécessaires.\u003cbr\u003e\u003cbr\u003e\u003cbr\u003e Il n'existe pas de solution miracle qui convienne à toutes les situations.\u003cbr\u003e Vous devez choisir et tester l'outil qui convient à votre situation. \u003cbr\u003eIl existe de nombreuses méthodes de test pour l'interface utilisateur, vous pouvez donc choisir la méthode optimale.\u003cbr\u003e Ce livre explore les environnements de développement les plus récents à travers Next.js et TypeScript, deux des frameworks les plus populaires, et examine quels types de tests doivent être effectués et dans quelles circonstances.\u003cbr\u003e Les chapitres 1 à 4 sont destinés aux développeurs qui écrivent du code de test pour la première fois.\u003cbr\u003e Le chapitre 1 explique pourquoi vous devez écrire des tests, et le chapitre 2 aborde la portée et l'objectif des tests pour vous aider à comprendre le flux global des tests front-end.\u003cbr\u003e Les chapitres 3 et 4 traitent en détail des tests unitaires et des tests d'objets simulés avant de se plonger dans la pratique proprement dite.\u003cbr\u003e\u003cbr\u003e\u003cbr\u003e Les chapitres 5 à 10 abordent les technologies front-end modernes à l'aide d'exemples React et Next.js. \u003cbr\u003eLe chapitre 5 examine les points sur lesquels il faut se concentrer lors du test des composants d'interface utilisateur, et le chapitre 6 crée un rapport de couverture qui mesure la quantité de code d'implémentation qui a été testée.\u003cbr\u003e Au chapitre 7, nous effectuerons des tests pratiques à l'aide d'une application exemple créée avec Next.js.\u003cbr\u003e Au chapitre 8, nous explorerons Storybook, un explorateur de composants d'interface utilisateur qui vous aide à partager des composants d'interface utilisateur pour améliorer l'efficacité de la collaboration.\u003cbr\u003e Au chapitre 9, nous apprendrons l'importance des tests de régression visuelle en effectuant des tests de régression visuelle sur des composants d'interface utilisateur, et au chapitre 10, nous apprendrons les tests E2E, qui permettent de tester au plus près des applications réelles.\u003cbr\u003e Enfin, à l'intention des lecteurs coréens, nous avons inclus une annexe expliquant comment tester les composants d'interface utilisateur et les tests E2E dans GitHub Actions.\u003cbr\u003e\u003cbr\u003e \u003cbr\u003eLes tests de code permettent non seulement de réaliser des économies, mais aussi d'améliorer la qualité du code en détectant les bugs au plus tôt, servent de document de spécifications pour les nouveaux membres de l'équipe et réduisent les erreurs de débutant lors des refactorisations.\u003cbr\u003e Si vous avez repoussé l'écriture de code de test ou si vous la trouvez difficile malgré ses nombreux avantages, ce livre sera un excellent guide pour les tests front-end.\u003cbr\u003e J'espère que ce livre vous aidera à écrire du code de test avec confiance.\u003cbr\u003e\u003cbr\u003e \u003cb\u003eContenu principal\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003e • La nécessité des tests et le déroulement des tests front-end\u003cbr\u003e • Des méthodes de test appropriées telles que les tests E2E, les tests unitaires et les tests de composants d'interface utilisateur\u003cbr\u003e Diverses bibliothèques et outils tels que Jest, React et reg-suite\u003cbr\u003e • Test de reproduction de l'échec à l'aide d'un objet factice\u003cbr\u003e Comment utiliser Storybook pour les composants d'interface utilisateur \u003cbr\u003e• Tests des composants d'interface utilisateur et tests E2E dans GitHub Actions \u003c\/div\u003e\n\u003cdiv\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003cdiv style=\"width:95%;padding-top:20px;padding-bottom:20px\"\u003e\n\n\u003cdiv style=\"text-align:left;font-size:16px;font-weight:bold;padding-bottom:20px\"\u003e SPÉCIFICATIONS DES PRODUITS \u003c\/div\u003e\n\n\u003cdiv style=\"text-align:left;font-size:14px;line-height:1.6em;\"\u003e\n\n\u003cdiv style=\"width:100%;margin-bottom:5px;line-height:1.6em;font-size:14px\"\u003e - \u003cstrong\u003eDate d'émission :\u003c\/strong\u003e 21 juin 2024\u003c\/div\u003e\n\n\u003cdiv style=\"width:100%;margin-bottom:5px;line-height:1.6em;font-size:14px\"\u003e \u003cstrong\u003eNombre de pages, poids, dimensions :\u003c\/strong\u003e 332 pages | 648 g | 188 × 245 × 16 mm\u003c\/div\u003e\n\n\u003cdiv style=\"width:100%;margin-bottom:5px;line-height:1.6em;font-size:14px\"\u003e - \u003cstrong\u003eISBN13 :\u003c\/strong\u003e 9791193926260 \u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003ccenter\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003cspan\u003e\u003c\/span\u003e\n\n\u003c\/center\u003e\n\n\n\u003c\/center\u003e","brand":"LIBRAIRIE COREENNE","offers":[{"title":"Default Title","offer_id":43893690662954,"sku":"110201","price":37.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0683\/2750\/5962\/files\/2a024f390a996f3acf4f57ae19ca5aa2.jpg?v=1765412019","url":"https:\/\/librairie.coreenne.fr\/products\/110201","provider":"LIBRAIRIE COREENNE","version":"1.0","type":"link"}