Skip to content

Commit a57ac86

Browse files
committed
chore(react): update test.md file to last english version chromaui#3
1 parent 982bb05 commit a57ac86

File tree

1 file changed

+73
-34
lines changed
  • content/intro-to-storybook/react/fr

1 file changed

+73
-34
lines changed
+73-34
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,24 @@
11
---
2-
title: 'Tester les composantes UI'
3-
tocTitle: 'Test'
2+
title: 'Tests visuels'
3+
tocTitle: 'Test visuel'
44
description: 'Apprenez à tester les composants UI'
55
---
66

7-
Aucun tutoriel de Storybook ne serait complet sans test. Les tests sont essentiels pour créer des UI de haute qualité. Dans les systèmes modulaires, de minuscules modifications peuvent entraîner des régressions majeures. Jusqu'à présent, nous avons rencontré trois types de tests :
7+
Aucun tutoriel de Storybook ne serait complet sans tests. Les tests sont essentiels pour créer des UI de haute qualité. Dans les systèmes modulaires, de minuscules modifications peuvent entraîner des régressions majeures. Jusqu'à présent, nous avons rencontré trois types de tests:
88

9-
- **Tests manuels** qui consistent pour les développeurs à examiner manuellement un composant pour en vérifier l'exactitude. Ils nous aident à vérifier l'aspect d'un composant au fur et à mesure de sa construction.
10-
- **Les captures instantanées** avec Storyshots capturent le balisage rendu d'un composant. Ils nous aident à nous tenir au courant des changements de balisage qui provoquent des erreurs de rendu et des avertissements.
11-
- **Les tests unitaires** avec Jest vérifient que la sortie d'un composant reste la même avec une entrée fixe. Ils sont parfaits pour tester les qualités fonctionnelles d'un composant.
9+
- **Les tests manuels** qui consistent pour les développeurs à examiner manuellement un composant pour en vérifier l'exactitude. Ils nous aident à vérifier l'aspect d'un composant au fur et à mesure de sa construction.
1210

13-
## "Mais est-ce que ça a l'air bien ?"
11+
- **Les tests d'accessibilité**, avec l'addonn a11y, vérifient que le composant est accessible à tout type de personne. Ils sont parfaits pour collecter de l'information sur comment les personnes avec des difficultés physique utilisent les composants.
1412

15-
Malheureusement, les méthodes de test mentionnées ci-dessus ne suffisent pas à prévenir les bugs de l'UI. Les interfaces utilisateur sont délicates à tester car la conception est subjective et nuancée. Les tests manuels sont, eh bien, manuels. Les tests instantanés déclenchent trop de faux positifs lorsqu'ils sont utilisés pour l'UI. Les tests unitaires au niveau pixel sont de mauvaise qualité. Une stratégie de test complète de Storybook comprend également des tests de régression visuelle.
13+
- **Les tests d'interactions**, avec la fonction play, vérifient que le composant agit de la manière attendue quand nous interagissons avec lui. Ils sont parfaits pour tester les actions utilisateurs quand le composant est utilisé.
14+
15+
## "Mais est-ce que ça a l'air bien?"
16+
17+
Malheureusement, les méthodes de test mentionnées ci-dessus ne suffisent pas à prévenir les bogues de l'UI. Les interfaces utilisateur sont délicates à tester car la conception est subjective et nuancée. Les tests manuels sont, malheureusement, manuels. Les autres tests d'UI, comme les tests de snapshots, déclenchent trop de faux positifs, et les tests unitaires au niveau pixel sont de mauvaise qualité. Une stratégie de test complète de Storybook comprend également des tests de régression visuelle.
1618

1719
## Tests visuels pour Storybook
1820

19-
Les tests de régression visuelle, également appelés tests visuels, sont conçus pour détecter les changements d'apparence. Ils fonctionnent en prenant des captures d'écran de chaque story et en les comparant entre elles commit par commit pour faire ressortir les changements. C'est parfait pour vérifier des éléments graphiques comme la mise en page, la couleur, la taille et le contraste.
21+
Les tests de régression visuelle, également appelés tests visuels, sont conçus pour détecter les changements d'apparence. Ils fonctionnent en prenant des captures d'écran de chaque story et en les comparant entre elles commit par commit pour faire ressortir les changements. Ils sont parfaits pour vérifier les éléments graphiques comme la mise en page, la couleur, la taille et le contraste.
2022

2123
<video autoPlay muted playsInline loop style="width:480px; margin: 0 auto;">
2224
<source
@@ -25,39 +27,76 @@ Les tests de régression visuelle, également appelés tests visuels, sont conç
2527
/>
2628
</video>
2729

28-
Storybook est un outil fantastique pour les tests de régression visuelle car chaque story est essentiellement une spécification de test. Chaque fois que nous écrivons ou mettons à jour un story, nous obtenons gratuitement une spécification !
30+
Storybook est un outil fantastique pour les tests de régression visuelle car chaque story est essentiellement une spécification de test. Chaque fois que nous écrivons ou mettons à jour une story, nous obtenons gratuitement une spécification!
2931

3032
Il existe un certain nombre d'outils pour les tests de régression visuelle. Nous recommandons [**Chromatic**](https://www.chromatic.com/?utm_source=storybook_website&utm_medium=link&utm_campaign=storybook), un service de publication gratuit créé par les mainteneurs de Storybook qui effectue des tests visuels dans un cloud parallélisé. Il nous permet également de publier Storybook en ligne, comme nous l'avons vu dans le [chapitre précédent](/intro-to-storybook/react/fr/deploy/).
3133

3234
## Voir les modifications de l'UI
3335

3436
Les tests de régression visuelle reposent sur la comparaison des images du nouveau code UI rendu avec les images de base. Si une modification de l'UI est détectée, nous en sommes informés.
3537

36-
Voyons comment cela fonctionne en modifiant l'arrière-plan du composant `Tâche`.
38+
Voyons comment cela fonctionne en modifiant l'arrière-plan du composant `Task`.
3739

38-
Commencez par créer une nouvelle branche pour ce changement :
40+
Commencez par créer une nouvelle branche pour ce changement:
3941

4042
```shell
4143
git checkout -b change-task-background
4244
```
4345

44-
Modifiez `Task` comme suit:
45-
46-
```js:title=src/components/Task.js
47-
<div className="title">
48-
<input
49-
type="text"
50-
value={title}
51-
readOnly={true}
52-
placeholder="Input title"
53-
style={{ background: 'red' }}
54-
/>
55-
</div>
46+
Modifiez `src/components/Task.js` comme suit:
47+
48+
```diff:title=src/components/Task.js
49+
export default function Task({ task: { id, title, state }, onArchiveTask, onPinTask }) {
50+
return (
51+
<div className={`list-item ${state}`}>
52+
<label
53+
htmlFor="checked"
54+
aria-label={`archiveTask-${id}`}
55+
className="checkbox"
56+
>
57+
<input
58+
type="checkbox"
59+
disabled={true}
60+
name="checked"
61+
id={`archiveTask-${id}`}
62+
checked={state === "TASK_ARCHIVED"}
63+
/>
64+
<span
65+
className="checkbox-custom"
66+
onClick={() => onArchiveTask(id)}
67+
/>
68+
</label>
69+
70+
<label htmlFor="title" aria-label={title} className="title">
71+
<input
72+
type="text"
73+
value={title}
74+
readOnly={true}
75+
name="title"
76+
placeholder="Input title"
77+
+ style={{ background: 'red' }}
78+
/>
79+
</label>
80+
81+
{state !== "TASK_ARCHIVED" && (
82+
<button
83+
className="pin-button"
84+
onClick={() => onPinTask(id)}
85+
id={`pinTask-${id}`}
86+
aria-label={`pinTask-${id}`}
87+
key={`pinTask-${id}`}
88+
>
89+
<span className={`icon-star`} />
90+
</button>
91+
)}
92+
</div>
93+
);
94+
}
5695
```
5796

5897
Cela donne une nouvelle couleur de fond pour l'objet.
5998

60-
![changement de fond de la tâche](/intro-to-storybook/chromatic-task-change.png)
99+
![Changement de fond de la tâche](/intro-to-storybook/chromatic-task-change.png)
61100

62101
Ajoutez le fichier:
63102

@@ -71,33 +110,33 @@ Faire un commit:
71110
git commit -m "change task background to red"
72111
```
73112

74-
Et envoyer les changements au repo à distance:
113+
Et envoyer les changements au dépôt à distance:
75114

76115
```shell
77116
git push -u origin change-task-background
78117
```
79118

80-
Enfin, ouvrez votre dépôt GitHub et lancez un pull request pour la branche `change-task-background`.
119+
Enfin, ouvrez votre dépôt GitHub et lancez une pull request pour la branche `change-task-background`.
81120

82-
![Créer un PR dans GitHub pour la tâche](/github/pull-request-background.png)
121+
![Créer une PR dans GitHub pour la tâche](/github/pull-request-background.png)
83122

84123
Ajoutez un texte descriptif à votre pull request et cliquez sur `Create pull request`. Cliquez sur le bouton "🟡 UI Tests" en bas de la page.
85124

86-
![Créé un PR dans GitHub pour la tâche](/github/pull-request-background-ok.png)
125+
![Créer une PR dans GitHub pour la tâche](/github/pull-request-background-ok.png)
87126

88127
Cela vous montrera les modifications de l'UI prises en compte par votre commit.
89128

90129
![Changements détectés par Chromatic](/intro-to-storybook/chromatic-catch-changes.png)
91130

92-
Il y a beaucoup de changements! La hiérarchie des composants où `Task` est un enfant de `TaskList et`Inbox` signifie une petite modification provoque des régressions majeures. C'est précisément pour cette raison que les développeurs ont besoin de tests de régression visuelle en plus des autres méthodes de test.
131+
Il y a beaucoup de changements! La hiérarchie des composants où `Task` est un enfant de `TaskList` et `Inbox` signifie qu'une petite modification provoque des régressions majeures. C'est précisément pour cette raison que les développeurs ont besoin de tests de régression visuelle en plus des autres méthodes de test.
93132

94-
![UI minor tweaks major regressions](/intro-to-storybook/minor-major-regressions.gif)
133+
![Un petit changement d'UI provoque des régressions majeures](/intro-to-storybook/minor-major-regressions.gif)
95134

96135
## Révision des changements
97136

98137
Les tests de régression visuelle permettent de s'assurer que les composants ne changent pas par accident. Mais c'est toujours à nous de déterminer si les changements sont intentionnels ou non.
99138

100-
Si un changement est intentionnel, nous devrons mettre à jour la base de référence afin que les futurs tests soient comparés à la dernière version du story. Si un changement n'est pas intentionnel, il doit être corrigé.
139+
Si un changement est intentionnel, nous devrons mettre à jour les images de référence afin que les futurs tests soient comparés à la dernière version de la story. Si un changement n'est pas intentionnel, il doit être corrigé.
101140

102141
<video autoPlay muted playsInline loop style="width:480px; margin: 0 auto;">
103142
<source
@@ -110,10 +149,10 @@ Comme les applications modernes sont construites à partir de composants, il est
110149

111150
## Fusionner les changements
112151

113-
Lorsque nous aurons terminé notre examen, nous serons prêts à fusionner les changements apportés à l'UI en toute confiance, sachant que les mises à jour n'introduiront pas accidentellement des bogues. Si vous aimez le nouveau fond "rouge", alors acceptez les changements, sinon revenez à l'état précédent.
152+
Lorsque nous avons terminé notre revue des changements, nous sommes prêts à fusionner les changements apportés à l'UI en toute confiance, sachant que les mises à jour n'introduise pas accidentellement des bogues. Si vous aimez le nouveau fond `rouge`, alors acceptez les changements, sinon revenez à l'état précédent.
114153

115154
![Changements prêts à être fusionnés](/intro-to-storybook/chromatic-review-finished.png)
116155

117-
Storybook nous aide à **construire** des composants ; les tests nous aident à **les entretenir**. Les quatre types de tests de l'UI couverts dans ce tutoriel sont les tests visuels, captures instantanées, unitaires et de régression visuelle. Les trois derniers peuvent être automatisés en les ajoutant à un CI alors que nous venons de terminer la mise en place. Cela nous aide à distribuer les composants sans nous soucier des bogues clandestins. L'ensemble du déroulement des opérations est illustré ci-dessous.
156+
Storybook nous aide à **construire** des composants; les tests nous aident à **les maintenir**. Les quatre types de tests de l'UI couverts dans ce tutoriel sont les tests visuels, d'accessibilité, d'interactions et de régression visuelle. Les trois derniers peuvent être automatisés en les ajoutant à une CI alors que nous venons de terminer la mise en place, et cela nous aide à délivrer des composants sans nous soucier des bogues clandestins. L'ensemble du déroulement des opérations est illustré ci-dessous.
118157

119158
![Déroulement des opérations du test de régression visuel](/intro-to-storybook/cdd-review-workflow.png)

0 commit comments

Comments
 (0)