Hola, mundo

Hola, mundo

Ejercicio tutorial

Introducción

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

Mira nuestro video «Introducción a Hello, World» para comenzar 👇

Instrucciones

El ejercicio introductorio clásico. Solo di «Hello, World!».

«Hello, World!» es el tradicional primer programa para quienes empiezan a programar en un lenguaje o un entorno nuevos.

Los objetivos son simples:

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

Si todo sale bien, ya podrás obtener tu primer ejercicio real.

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

Cómo hacer que la suite de pruebas pase

Ejecuta las pruebas con:

$ yarn test

En muchas suites de pruebas, se omiten todas las pruebas excepto la primera.

Una vez que consigas que una prueba pase, puedes habilitar 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

El primer archivo es donde vas a escribir tu código. El segundo es donde están definidas las pruebas.

Las pruebas verifican si tu código hace lo correcto. No necesitas poder escribir una suite de pruebas desde cero, pero ayuda a entender cómo se ve una prueba y qué hace.

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

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

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

$ yarn test

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

El fallo se ve así:

    × 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 las 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 lo 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 recibe "Goodbye, Mars!".

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

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

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

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

Ejecuta la prueba de nuevo:

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

¡Y pasa!

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

¿Todo listo para empezar Hola, mundo?

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