?? 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.





