https://github.com/romelperez/jest-workshop
Taller de introducción a Testing en JavaScript con la librería Jest
https://github.com/romelperez/jest-workshop
jest tdd testing
Last synced: 11 months ago
JSON representation
Taller de introducción a Testing en JavaScript con la librería Jest
- Host: GitHub
- URL: https://github.com/romelperez/jest-workshop
- Owner: romelperez
- License: mit
- Created: 2018-08-18T15:28:30.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2018-09-01T04:14:56.000Z (almost 8 years ago)
- Last Synced: 2025-04-11T18:44:04.841Z (about 1 year ago)
- Topics: jest, tdd, testing
- Language: JavaScript
- Size: 518 KB
- Stars: 7
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Jest Workshop
[](http://romelperez.com)
[](https://jestjs.io)
[](./LICENSE)
Taller básico de introducción a testing de aplicaciones web basadas en JavaScript
con [la librería Jest](https://jestjs.io). El recorrido está enfocado en unit
testing usando la metodología [Test-Driven Development (TDD)](https://en.wikipedia.org/wiki/Test-driven_development)
en [Node.js](https://nodejs.org).
Apoyado en la charla [**Testing en JavaScript con Jest**](https://romelperez.com/talks/testing-javascript-jest).
## Taller
El taller consiste en arreglar un sistema animado autocontrolado de aterrizaje
de un avión en vuelo.
Un elemento que representa un avión debe tener un sistema automático de aterrizaje
que tomará acción cuando se entre en la zona de aterrizaje. Se desacelerará hasta
llegar a velocidad 0 y debe descender hasta tocar suelo.
Se considera que ha llegado a la zona de aterrizaje si la distancia desde el avión
al inicio de la zona de aterrizaje es mayor o igual a 0.
El sistema autocontrolado o piloto, tendrá definido cuánto puede acelerar o
desacelerar y cuánto puede inclinarse hacia arriba o abajo cuando pueda tomar
acción de aterrizaje.
Si alguna de las siguientes condiciones se cumple, el avión explotará:
- Está volando por encima de 300 pixeles.
- Toca el suelo por debajo de 10 pixeles.
- Su velocidad es muy baja cuando está en el aire.
- Se queda sin combustible.
- Accelera a más de 100 px/s2.
- Va a más de 300 px/s en el suelo.
El objetivo es aterrizar el avión y que se encuentre a velocidad ~0 px/s,
aceleración 0 px/s2, una altura muy cercana a 0, una velocidad muy cercana a 0,
con combustible, dentro de la zona de aterrizaje.

## Cómo usarlo?
### Clonar
```bash
$ git clone https://github.com/romelperez/jest-workshop.git
$ cd jest-workshop
```
### Instalar
```bash
$ npm install
```
### Ejecutar
```bash
$ npm run start
```
### Testear
```bash
# check linting errors
$ npm run lint
# run tests only once
$ npm run test
# run tests with watcher
$ npm run test-dev
```