Hello World

Hello World

Ejercicio de tutorial

Introducción

«Hello, World!» te pondrá a escribir algo de TypeScript y te familiarizará con el flujo de trabajo de Exercism. Completarlo desbloquea el resto del track TypeScript.

Mira nuestro vídeo «Introducción a Hello, World» para empezar 👇

Instrucciones

El clásico ejercicio introductorio. Solo tienes que decir «Hello, World!».

«Hello, World!» es el primer programa tradicional para quienes se inician en la programación en un lenguaje o un entorno nuevos.

Los objetivos son sencillos:

  • Modifica el código que te damos para que produzca el string «Hello, World!».
  • Ejecuta la suite de pruebas y asegúrate de que pasa.
  • Envía tu solución y compruébala en el sitio web.

Si todo va bien, ya podrás descargar tu primer ejercicio de verdad.

Configuración

Sigue las instrucciones de configuración de TypeScript para instalar las dependencias necesarias:

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

Requisitos

Instala las dependencias del ejercicio:

$ yarn install

Conseguir que pase el conjunto de pruebas

Ejecuta las pruebas con:

$ yarn test

En muchos conjuntos de pruebas se han omitido todas las pruebas menos la primera.

Cuando consigas que una prueba pase, puedes dejar de omitir la siguiente cambiando xit por it.

Tutorial

Esta sección es una guía paso a paso para resolver este ejercicio.

Este ejercicio tiene dos archivos:

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

En el primer archivo escribirás tu código. En el segundo se definen las pruebas.

Las pruebas comprobarán si tu código hace lo correcto. No necesitas ser capaz de escribir un conjunto de pruebas desde cero, pero ayuda entender cómo es una prueba y qué hace.

Abre el archivo de pruebas, hello-world.test.ts. Dentro hay una única prueba:

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

Ejecuta ahora la prueba con el siguiente comando en la línea de comandos:

$ yarn test

La prueba falla, lo cual tiene sentido, ya que todavía no has escrito ningún código.

El fallo tiene este aspecto:

    × 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)

Y estas son esas líneas de código con posibles defectos en el archivo hello-world.test.ts:

la sexta línea:

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

Por tanto, el problema está en la llamada a la función hello(). Podemos ver que la prueba espera 'Hello, World!' como salida, pero en su lugar obtiene "Goodbye, Mars!".

Así que ahora vamos a comprobar esta función en el archivo hello-worlds.ts:

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

Ahora vemos que la función devuelve un string incorrecto, que es la razón de nuestro fallo. Vamos a arreglarlo cambiando el valor devuelto:

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

Ejecuta la prueba otra vez:

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

¡Y pasa!

Editar en GitHub El enlace se abre en una ventana o pestaña nueva
TypeScript Exercism

¿Listo para empezar Hello World?

Regístrate en Exercism para aprender y dominar TypeScript con 108 ejercicios y mentoría humana real, todo gratis.