Olá, Mundo

Olá, Mundo

Exercício de tutorial

Introdução

“Hello, World!” vai fazer você escrever um pouco de TypeScript e se familiarizar com o fluxo de trabalho do Exercism. Concluí-lo desbloqueia o restante da Trilha TypeScript.

Assista ao nosso vídeo "Introdução ao Hello, World" para começar 👇

Instruções

O exercício introdutório clássico. Basta dizer "Hello, World!".

"Hello, World!" é o tradicional primeiro programa de quem está começando a programar em uma nova linguagem ou ambiente.

Os objetivos são simples:

  • Modifique o código fornecido para que ele produza a string "Hello, World!".
  • Rode a suíte de testes e verifique se ela passa.
  • Envie sua solução e confira no site.

Se tudo der certo, você estará pronto para buscar seu primeiro exercício de verdade.

Configuração

Siga as instruções de configuração do TypeScript para instalar as dependências necessárias:

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

Requisitos

Instale as dependências do exercício:

$ yarn install

Fazendo os testes passarem

Execute os testes com:

$ yarn test

Em muitas suítes de teste, todos os testes, exceto o primeiro, são ignorados.

Depois que um teste passar, você pode reativar o próximo trocando xit por it.

Tutorial

Esta seção é um guia passo a passo para resolver este exercício.

Este exercício tem dois arquivos:

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

O primeiro arquivo é onde você vai escrever seu código. O segundo é onde os testes estão definidos.

Os testes vão verificar se o seu código está fazendo a coisa certa. Você não precisa saber escrever uma suíte de testes do zero, mas ajuda entender como um teste é e o que ele está fazendo.

Abra o arquivo de teste, hello-world.test.ts. Há um único teste dentro:

it('says hello world', () => {
  expect(hello()).toEqual('Hello, World!')
})

Rode o teste agora, com o seguinte comando na linha de comando:

$ yarn test

O teste falha, o que faz sentido, já que você ainda não escreveu nenhum código.

A falha é parecida com isto:

    × 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 arquivo hello-world.test.ts:

a 6ª linha:

    expect(hello()).toEqual('Hello, World!')
                    ^

Portanto, o problema está na chamada da função hello(). Podemos ver que o teste espera 'Hello, World!' como saída, mas em vez disso recebe "Goodbye, Mars!".

Então vamos verificar agora essa função no arquivo hello-worlds.ts:

export function hello(): string {
  return 'Goodbye, Mars!'
}

Agora vemos que a função retorna a string incorreta, que é a razão da nossa falha. Vamos corrigir isso mudando o valor retornado:

export function hello(): string {
  return 'Hello, World!'
}

Rode o teste de novo:

 PASS  ./hello-world.test.ts
  Hello World
    √ says hello world (4ms)

E ele passa!

Editar via GitHub O link abre em uma nova janela ou aba
TypeScript Exercism

Tudo pronto para começar Olá, Mundo?

Crie sua conta no Exercism para aprender e dominar TypeScript com 108 exercícios e mentoria humana de verdade, tudo de graça.