Este proyecto tiene como objetivo servir de Backend REST API para un Consesionario de Carros que ofrece las marcas Kia, BMW y Porche.
- Realizar pruebas unitarias y de integración que permitan garantizar una cobertura mínima automática del 85% en setencia y branches.
- Configurar GitHub Actions para automatizar el Continuous Integration (CI) para cada Pull Request nuevo que incluya algún cambio funcional o hotfix.
- Java 17 as a programming language with maven.
- JUnit - Mockito: Pruebas de componente.
- Karate: Pruebas de Integración.
- JaCoCo: Reporte de cobertura de código.
- Abra el proyecto y ejecute
mvn clean install
: verifique que los archivos de target/site/jacoco/index.html y target/karate-reports/karate-summary.html se encuentren disponibles para revisar los resultados de las pruebas de componente (unitarias) y de integración, respectivamente. - Inicie el proyecto ejecutando el comando
mvn spring-boot:run
o ejecutando a la clase principal: TestAutomationJavaServiceBackendApplication.java - Cree un nuevo Pull Request, cambiando o añadiendo alguna funcionalidad con sus respectivas pruebas unitarias o de integración (carpeta karate) y verifique que el GitHub Action - CI haya terminado de ejecutarse correctamente arrojando el resultado de cobertura de sentencia (líneas de código cubiertas por las pruebas).
- Los resultados demuestran una cobertura del 85% en sentencia y de 75% en branches (ver reporte de JaCoCo).
- Los reportes de Karate muestran las ejecuciones exitosas de las pruebas de integración para cada uno de los endpoints del backend: karate-summary.html
com.test.automation.project.testautomationjavaservicebackend.api.karate.GetCars.html
com.test.automation.project.testautomationjavaservicebackend.api.karate.SearchByPriceRange.html
com.test.automation.project.testautomationjavaservicebackend.api.karate.SearchByBrand.html