« Hello, World! » t'apprendra à écrire un peu de TypeScript et te familiarisera avec le workflow d'Exercism. Le terminer déverrouille le reste du parcours TypeScript.
Regarde notre vidéo « Introduction to Hello, World » pour bien démarrer 👇
L'exercice d'introduction classique. Dis simplement « Hello, World! ».
« Hello, World! » est le premier programme traditionnel pour débuter la programmation dans un nouveau langage ou environnement.
Les objectifs sont simples :
Si tout se passe bien, tu pourras récupérer ton premier véritable exercice.
Suis les instructions d'installation de TypeScript pour installer les dépendances nécessaires :
https://exercism.org/docs/tracks/typescript/installation
Installe les dépendances de l'exercice :
$ yarn install
Exécute les tests avec :
$ yarn test
Dans beaucoup de suites de tests, tous les tests sauf le premier sont ignorés.
Une fois qu'un test passe, tu peux réactiver le suivant en remplaçant xit par it.
Cette section est un guide pas à pas pour résoudre cet exercice.
Cet exercice comporte deux fichiers :
Le premier fichier est celui dans lequel tu écriras ton code. Le second est celui où les tests sont définis.
Les tests vont vérifier si ton code fait bien ce qu'il doit faire. Tu n'as pas besoin de savoir écrire une suite de tests depuis zéro, mais il est utile de comprendre à quoi ressemble un test et ce qu'il fait.
Ouvre le fichier de test, hello-world.test.ts. Il contient un seul test :
it('says hello world', () => {
expect(hello()).toEqual('Hello, World!')
})
Exécute le test maintenant, avec la commande suivante sur la ligne de commande :
$ yarn test
Le test échoue, ce qui est logique puisque tu n'as encore écrit aucun code.
L'échec ressemble à ceci :
× says hello world (5ms)
● Hello World › says hello world
expect(received).toEqual(expected) // deep equality
Expected: "Hello, World!"
Received: "Goodbye, Mars!"
4 |
5 | it('says hello world', () => {
> 6 | expect(hello()).toEqual('Hello, World!')
| ^
7 | })
8 |
9 | })
at Object.it (hello-world.test.ts:6:32)
Et voici ces lignes de code, avec les défauts probables dans le fichier hello-world.test.ts :
la ligne 6 :
expect(hello()).toEqual('Hello, World!')
^
Le problème vient donc de l'appel à la fonction hello().
On peut voir que le test attend 'Hello, World!' en sortie, mais qu'il obtient "Goodbye, Mars!" à la place.
Vérifions maintenant cette fonction dans le fichier hello-worlds.ts :
export function hello(): string {
return 'Goodbye, Mars!'
}
On voit maintenant que la fonction renvoie une string incorrecte, ce qui explique notre échec. Corrigeons cela en changeant la valeur renvoyée :
export function hello(): string {
return 'Hello, World!'
}
Exécute à nouveau le test :
PASS ./hello-world.test.ts
Hello World
√ says hello world (4ms)
Et il passe !
Inscris-toi sur Exercism pour apprendre et maîtriser TypeScript avec 108 exercices, et un vrai mentorat humain, le tout gratuitement.