# Comment lancer les tests 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. ## La commande unique ```bash make test ``` 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é. ## Étapes ### Lancer toute la suite ```bash make test ``` Vous devriez voir une ligne `ok` par paquet, quinze en tout. ### La lancer sous le détecteur de courses ```bash make race ``` 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. ### Voir ce qui est couvert ```bash make cover ``` ### Lancer un seul paquet ```bash go test ./syntax/ go test -run TestRegister ./syntax/ ``` ### Voir les commandes elles-mêmes ```bash make help ``` ## Variantes ### Vous avez modifié un analyseur `go test ./syntax/` est la boucle rapide. Lancez ensuite toute la suite, car `editor` et `app` dessinent tous les deux à travers lui. ### Vous avez modifié quelque chose qui a une goroutine derrière 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. ### Un test est passé dès que vous l'avez écrit 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é. ## Voir aussi - Lancer les tests d'un éditeur : le `how-to/run-the-tests.md` de chaque éditeur - Ce que sont les paquets : [référence des paquets](../reference/packages.md)