«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 👇
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:
Si todo va bien, ya podrás descargar tu primer ejercicio de verdad.
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 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.
Esta sección es una guía paso a paso para resolver este ejercicio.
Este ejercicio tiene dos archivos:
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!
Regístrate en Exercism para aprender y dominar TypeScript con 108 ejercicios y mentoría humana real, todo gratis.