| 🛟 Updated. 28d5985 k33g 17h ago | 1 | # Comment lancer les tests |
| 2 | |
| 3 | Ce guide montre comment lancer la suite de tests de turbo-core et ce qu'elle couvre. Il suppose une copie du dépôt et Go 1.26 ou plus récent. |
| 4 | |
| 5 | ## La commande unique |
| 6 | |
| 7 | ```bash |
| 8 | make test |
| 9 | ``` |
| 10 | |
| 11 | C'est `go test ./...` sur tous les paquets. Elle ne demande aucune préparation, aucun réseau et aucun serveur de langage : tout ce qu'elle pilote est soit une fonction pure, soit un terminal simulé. |
| 12 | |
| 13 | ## Étapes |
| 14 | |
| 15 | ### Lancer toute la suite |
| 16 | |
| 17 | ```bash |
| 18 | make test |
| 19 | ``` |
| 20 | |
| 21 | Vous devriez voir une ligne `ok` par paquet, quinze en tout. |
| 22 | |
| 23 | ### La lancer sous le détecteur de courses |
| 24 | |
| 25 | ```bash |
| 26 | make race |
| 27 | ``` |
| 28 | |
| 29 | L'éditeur a des goroutines à trois endroits — la boucle de lecture du serveur de langage, le lecteur du pseudo-terminal, et la sortie d'un outil en cours — et chacun des trois a déjà eu une course de données. Lancez ceci avant de livrer quoi que ce soit qui y touche. |
| 30 | |
| 31 | ### Voir ce qui est couvert |
| 32 | |
| 33 | ```bash |
| 34 | make cover |
| 35 | ``` |
| 36 | |
| 37 | ### Lancer un seul paquet |
| 38 | |
| 39 | ```bash |
| 40 | go test ./syntax/ |
| 41 | go test -run TestRegister ./syntax/ |
| 42 | ``` |
| 43 | |
| 44 | ### Voir les commandes elles-mêmes |
| 45 | |
| 46 | ```bash |
| 47 | make help |
| 48 | ``` |
| 49 | |
| 50 | ## Variantes |
| 51 | |
| 52 | ### Vous avez modifié un analyseur |
| 53 | |
| 54 | `go test ./syntax/` est la boucle rapide. Lancez ensuite toute la suite, car `editor` et `app` dessinent tous les deux à travers lui. |
| 55 | |
| 56 | ### Vous avez modifié quelque chose qui a une goroutine derrière |
| 57 | |
| 58 | Utilisez `make race`, pas `make test`. Une course de données dans un constructeur qui démarre une goroutine s'est cachée ici pendant toute une fonctionnalité, parce qu'un shell met plus longtemps à produire une sortie qu'une affectation à s'exécuter. |
| 59 | |
| 60 | ### Un test est passé dès que vous l'avez écrit |
| 61 | |
| 62 | Cassez le code qu'il couvre et regardez-le échouer. Ce projet a plus d'un cas consigné de test qui passait parce qu'il ne testait rien — un rappel que personne n'avait branché, une étape que le test effectuait lui-même. Un nouveau test qui n'a jamais échoué n'a pas été testé. |
| 63 | |
| 64 | ## Voir aussi |
| 65 | |
| 66 | - Lancer les tests d'un éditeur : le `how-to/run-the-tests.md` de chaque éditeur |
| 67 | - Ce que sont les paquets : [référence des paquets](../reference/packages.md) |