Tests
Herramientas
Para E2E
UI
Para probar interfaces web, existen herramientas como Cypress que automatizan interacciones sobre la página a testear. El siguiente código prueba el envío y respuesta de un formulario:
describe('Formulario de contacto', () => {
it('al enviar datos correctos muestra feedback positivo', () => {
// Given ...
cy.visit('http://localhost:8080/contacto');
// When ...
cy.get('#email').type('usuario@email.com');
cy.get('#message').type('Probando Cypress.io');
cy.get('input[value="Enviar"]').click();
// Then ...
cy.contains('p', 'Gracias usuario@email.com, tu mensaje ha sido recibido.');
});
});
❓ Ejercicio 1: Descarga Cypress y añade el proyecto MVC para hacer "E2E Testing". Elige un navegador para ejecutarlo y crea una nueva "spec". Ábrela con un editor y copia el contenido JavaScript anterior. Arranca el proyecto MVC en IntelliJ. Y ejecuta la "spec" anterior. Implementa un test adicional que valide el comportamiento cuando se introduce un email incorrecto.
❓ Ejercicio 2: Descarga este frontend que utiliza el API de contadores. Para desplegarlo junto al API, copia su contenido en el directorio de recursos estáticos del proyecto MVC. Arranca el proyecto MVC en IntelliJ, abre dicha web en el navegador e interacciona con ella. Implementa una "spec" de Cypress para probar alguna de sus funcionalidades.