Execució de proves Cypress en Node.js amb Docker

Aprèn a provar aplicacions Node.js amb Cypress dins d'un contenidor Docker. Descobreix com configurar el teu entorn, crear tests automatitzats i millorar la qualitat del teu codi amb proves d'interfície i navegació.

miércoles, 26 de marzo de 2025 • 2 min de lectura • Equip Q2BSTUDIO

Empresa-Software-Apps-Intel·ligènciaArtificial

?? Introducció

Benvingut Dev al món de les proves i la contenidorització. Avui explorarem un emocionant projecte on provarem una aplicació Node.js utilitzant Cypress, tot dins d'un contenidor Docker. Sense més preàmbuls, comencem!

?? Requisits previs

Abans de començar, assegura't de tenir els següents requisits al teu sistema:

  • Docker i Docker-Compose: Són necessaris per executar el projecte en un entorn de contenidor.
  • Node instal·lat: Es requereix per executar l'aplicació en prova.
  • Conèixements bàsics de Docker: Crearem un Dockerfile i un fitxer Docker-compose, per la qual cosa és recomanable tenir una idea prèvia de com funcionen.

?? Configuració del projecte

Iniciem el projecte creant un directori anomenat book-app-testing. Dins d'aquest directori, crearem un fitxer docker-compose amb el següent contingut:

services:
 book-reader-app:
   image: node:14
   container_name: book-reader-app
   working_dir: /app
   volumes:
     - .:/app
   ports:
     - '3000:3000'
   command: ['npm', 'start']
   networks:
     - test-network

 cypress:
   build:
     context: ./cypress-test
     dockerfile: Dockerfile
   container_name: cypress
   depends_on:
     - book-reader-app
   environment:
     - CYPRESS_baseUrl=https://book-reader-app:3000
   volumes:
     - ./cypress-test:/e2e
   networks:
     - test-network
   command: ['npx', 'cypress', 'run', '--spec', 'cypress/e2e/book-app-heading.cy.js']

networks:
 test-network:
   driver: bridge

A continuació, dins del directori del projecte, creem una carpeta anomenada cypress-test i executem les següents ordres:

npm init -y
npm install cypress --save-dev
npx cypress open

Això obrirà una nova finestra on seleccionem E2E Testing i continuem amb la configuració.

?? Creació del fitxer de prova

Dins del directori book-app-testing/cypress-test/cypress/e2e, creem el fitxer book-app-heading.cy.js amb el següent contingut:

describe('Book Reader Node App', () => {
 it('should have a heading that includes Book App', () => {
   cy.visit('/');
   cy.get('h1, h2, h3, h4, h5, h6').should('contain.text', 'Book App');
 });
});

?? Creació del Dockerfile

Per executar Cypress en un contenidor, dins de book-app-testing/cypress-test, creem un fitxer Dockerfile amb el següent contingut:

FROM cypress/included:13.0.0
WORKDIR /e2e
COPY . .
RUN npm install
CMD ['npx', 'cypress', 'run']

Després, des del directori del projecte, executem:

docker-compose up --build

Això executarà les proves i mostrarà els resultats a la terminal.

?? Conclusió

En aquest article vam aprendre com utilitzar Cypress per provar una aplicació Node.js dins d'un contenidor Docker. Vam començar amb una prova bàsica per verificar el títol de l'aplicació i vam progressar cap a proves més complexes que validen aspectes com la navegació i l'aparença en diferents dispositius. Amb Cypress, garantim la funcionalitat i estabilitat de les nostres aplicacions web.

En Q2BSTUDIO, oferim solucions tecnològiques innovadores i desenvolupament de programari a mida per impulsar el creixement del teu negoci. La nostra experiència en proves automatitzades i contenidorització ens permet optimitzar el rendiment i seguretat d'aplicacions web. Contacta'ns per portar el teu projecte al següent nivell.

UNA PAUSA?

Juga una estona abans de marxar

ELS NOSTRES SERVEIS

Com et podem ajudar

Tens un projecte en ment?

Explica'ns la teva visió i la convertim en una solució de programari. Sigui quin sigui l'abast, fem realitat la teva idea.