«Hello, World!» ti farà scrivere un po' di TypeScript e ti farà prendere confidenza con il flusso di lavoro di Exercism. Completarlo sblocca il resto del Track TypeScript.
Guarda il nostro video «Introduction to Hello, World» per iniziare 👇
Il classico esercizio introduttivo. Basta dire «Hello, World!».
"Hello, World!" è il tradizionale primo programma per chi inizia a programmare in un nuovo linguaggio o ambiente.
Gli obiettivi sono semplici:
Se tutto va bene, sarai pronto a scaricare il primo esercizio vero.
Segui le istruzioni di configurazione per TypeScript per installare le dipendenze necessarie:
https://exercism.org/docs/tracks/typescript/installation
Installa le dipendenze dell'esercizio:
$ yarn install
Esegui i test con:
$ yarn test
In molte suite di test, tutti i test tranne il primo vengono saltati.
Una volta che un test passa, puoi riattivare il successivo cambiando xit in it.
Questa sezione è una guida passo passo per risolvere questo esercizio.
Questo esercizio ha due file:
Nel primo file scriverai il codice. Nel secondo sono definiti i test.
I test verificheranno se il codice fa la cosa giusta. Non devi essere in grado di scrivere una suite di test da zero, ma aiuta a capire come è fatto un test e cosa fa.
Apri il file di test, hello-world.test.ts. Dentro c'è un solo test:
it('says hello world', () => {
expect(hello()).toEqual('Hello, World!')
})
Ora esegui il test con il seguente comando dalla riga di comando:
$ yarn test
Il test fallisce. È normale, visto che non hai ancora scritto nessun codice.
Il messaggio di errore è simile a questo:
× 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)
E queste sono le righe di codice con probabili difetti nel file hello-world.test.ts:
la sesta riga:
expect(hello()).toEqual('Hello, World!')
^
Quindi il problema è nella chiamata alla funzione hello().
Vediamo che il test si aspetta 'Hello, World!' come output, ma invece riceve "Goodbye, Mars!".
Ora controlliamo questa funzione nel file hello-worlds.ts:
export function hello(): string {
return 'Goodbye, Mars!'
}
Ora vediamo che la funzione restituisce la stringa sbagliata, ed è questo il motivo del fallimento. Risolviamo cambiando il valore restituito:
export function hello(): string {
return 'Hello, World!'
}
Esegui di nuovo il test:
PASS ./hello-world.test.ts
Hello World
√ says hello world (4ms)
E il test passa!
Iscriviti a Exercism per imparare e padroneggiare TypeScript con 108 esercizi e il mentoring di persone reali, tutto gratis.