Skip to content

Latest commit

 

History

History

README.md

Tests funcionales (Playwright)

Tests que validan el comportamiento descrito en el material docente (carpeta slides/). La misma ejecución sirve para regenerar las capturas de las apps que aparecen en las slides.

No es la práctica de ingeniería habitual (lo normal sería un e2e/ dentro de cada proyecto), pero a nivel docente mantiene los proyectos de ejemplo simples para el alumnado.

Requisitos

  • Node 22.22+ o 24.15+ (lo que requiere Angular 22).
  • Instalar dependencias y el navegador una vez:
    cd tests
    npm install
    npx playwright install chromium
  • Compilar los ejemplos a probar (el servidor de tests sirve dist/<app>/browser):
    cd ejemN && ng build

Ejecutar

Tests sin backend (temas 1, 2 y 5):

cd tests
npx playwright test specs/tema1.spec.ts
npx playwright test specs/tema2.spec.ts
npx playwright test specs/tema5.spec.ts

Tests que necesitan backend (puerto 8080)

Los temas 3, 4 y 6 usan un backend en el puerto 8080. Arráncalo antes de lanzar el test (cada uno por separado, ya que comparten el puerto):

  • Tema 3 (items): cd ejer4_backend/node && npm install && node src/app.js
  • Tema 4 (books): cd ejer6_backend/node && npm install && node src/app.js
  • Tema 6 (Spring Boot): compila ejem23, copia dist/ejem23/browser/* a ejem23_backend/src/main/resources/static, y arranca cd ejem23_backend && mvn -DskipTests package && java -jar target/*.jar
npx playwright test specs/tema3.spec.ts   # con el backend de items
npx playwright test specs/tema4.spec.ts   # con el backend de books
npx playwright test specs/tema6.spec.ts   # con Spring Boot

Capturas de webs externas

node capture-external.mjs   # requiere conexión a internet

Estructura

  • apps.ts — mapa de cada ejemplo a su puerto.
  • serve.mjs — servidor estático con fallback SPA que sirve el build de cada ejemplo.
  • playwright.config.ts — levanta un servidor por ejemplo.
  • specs/temaN.spec.ts — tests de cada tema.