“Hello, World!” vai pôr-te a escrever algum código em TypeScript e a familiarizar-te com o fluxo de trabalho do Exercism. Concluí-lo desbloqueia o resto do percurso de TypeScript.
Vê o nosso vídeo «Introdução ao Hello, World» para começares 👇
O exercício introdutório clássico. Diz apenas "Hello, World!".
O "Hello, World!" é o tradicional primeiro programa de quem está a começar a programar numa nova linguagem ou num novo ambiente.
Os objetivos são simples:
Se tudo correr bem, estás pronto para ir buscar o teu primeiro exercício a sério.
Segue as instruções de configuração do TypeScript para instalares as dependências necessárias:
https://exercism.org/docs/tracks/typescript/installation
Instala as dependências do exercício:
$ yarn install
Executa os testes com:
$ yarn test
Em muitos conjuntos de testes, todos os testes exceto o primeiro estão ignorados.
Assim que conseguires passar um teste, podes deixar de ignorar o seguinte,
alterando xit para it.
Esta secção é um guia passo a passo para resolver este exercício.
Este exercício tem dois ficheiros:
É no primeiro ficheiro que vais escrever o teu código. O segundo é onde os testes estão definidos.
Os testes vão verificar se o teu código está a fazer o que é suposto. Não precisas de conseguir escrever um conjunto de testes de raiz, mas ajuda perceber como é um teste e o que ele está a fazer.
Abre o ficheiro de testes, hello-world.test.ts. Lá dentro há um único teste:
it('says hello world', () => {
expect(hello()).toEqual('Hello, World!')
})
Corre o teste agora, com o seguinte comando na linha de comandos:
$ yarn test
O teste falha, o que faz sentido, já que ainda não escreveste código.
A falha tem este aspeto:
× 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 estas são as linhas de código com prováveis defeitos no ficheiro hello-world.test.ts:
a 6.ª linha:
expect(hello()).toEqual('Hello, World!')
^
Logo, o problema está na chamada da função hello().
Vemos que o teste espera 'Hello, World!' como resultado, mas em vez disso recebe "Goodbye, Mars!".
Vamos então ver agora esta função no ficheiro hello-worlds.ts:
export function hello(): string {
return 'Goodbye, Mars!'
}
Agora vemos que a função devolve a string incorreta, que é a razão da nossa falha. Vamos corrigir isto alterando o valor devolvido:
export function hello(): string {
return 'Hello, World!'
}
Corre o teste novamente:
PASS ./hello-world.test.ts
Hello World
√ says hello world (4ms)
E passa!
Inscreve-te no Exercism para aprenderes e dominares TypeScript com 108 exercícios, e mentoria humana real, tudo grátis.