«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 👇
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:
Si todo sale bien, ya podrás obtener tu primer ejercicio real.
Sigue las instrucciones de configuración de TypeScript para instalar las dependencias necesarias:
https://exercism.org/docs/tracks/typescript/installation
Instala las dependencias del ejercicio:
$ yarn install
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.
Esta sección es una guía paso a paso para resolver este ejercicio.
Este ejercicio tiene dos archivos:
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!
Regístrate en Exercism para aprender y dominar TypeScript con 108 ejercicios y mentoría humana real, todo gratis.