Hello World

Hello World

Exercice de tutoriel

Introduction

« 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 👇

Instructions

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 :

  • Modifie le code fourni pour qu'il produise la string « Hello, World! ».
  • Lance la suite de tests et assure-toi qu'elle réussit.
  • Soumets ta solution et vérifie-la sur le site web.

Si tout se passe bien, tu pourras récupérer ton premier véritable exercice.

Installation

Suis les instructions d'installation de TypeScript pour installer les dépendances nécessaires :

https://exercism.org/docs/tracks/typescript/installation

Prérequis

Installe les dépendances de l'exercice :

$ yarn install

Fais passer la suite de tests

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.

Tutoriel

Cette section est un guide pas à pas pour résoudre cet exercice.

Cet exercice comporte deux fichiers :

  • hello-world.ts
  • hello-world.test.ts

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 !

Modifie via GitHub Le lien s'ouvre dans une nouvelle fenêtre ou un nouvel onglet
TypeScript Exercism

Prêt à commencer Hello World ?

Inscris-toi sur Exercism pour apprendre et maîtriser TypeScript avec 108 exercices, et un vrai mentorat humain, le tout gratuitement.