Skip to content

Fataltester/Library

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Library

Laboratorio 3 - TDD

Juan David Martínez Mendez

Santiago Gualdron Rincon

CREA UN PROYECTO CON MAVEN

Como en el laboratorio anterior, utilizamos el comando "mvn archetype:generate" y configuramos el proyecto con los datos suministrados. Grupo: edu.eci.cvds Artefacto: Library Paquete: edu.eci.cvds.tdd archetypeArtifactId: maven-archetype-quickstart

AGREGAR DEPENDENCIAS JUNIT5

Para esto buscamos en el repositorio de maven la penultima version mas reciente de JUnit(5.11.4), por medio del siguiente link "https://mvnrepository.com/artifact/org.junit.jupiter/junit-jupiter-api/5.11.4" y agregamos al pom.xml

2

AGREGAR ESQUELETO DEL PROYECTO

1

AGREGAR CLASES

se crearon y posteriormente agregaron todos los codigos suministrados de cada clase, cada una en la respectiva ruta dada

image

image

PRUEBAS UNITARIAS Y TDD

para el método addBook se crearon las siguientes pruebas:

1.testAddBookWhenNotExist

2.testAddIncreaseBookWhenNotExist

3.testAddBookWhenAlreadyExists

4.testAddIncreaseBook

5.testNotAddBookWhenItIsNull

6.testNotAddIncreaseBook

7.testNotAddDifferentIsbnBook

8.testNotAddNullIsbnBook

9.testNotAddBookWhenRepeatIsbn

para el método loanABook se crearon las siguientes pruebas:

1.testLoanABook

2.testNotLoanABookWhenUserNotExist

3.testNotLoanABookWhenBookNotExist

4.testNotLoanABookWhenUserHasIt

5.testNotLoanABookWhenBookIsNotAvailable

6.testNotLoanABookWhenUserOrBookIsNull

finalmente para el método returnLoan se crearon las siguientes pruebas:

1.testNotReturnABookWhenLoanIsNull

2.testReturnALoan

3.testNotReturnALoanAlreadyReturned

4.testAddIncreaseBooksWhenLoan

Al realizar el diseño de las pruebas y su respectivo método, se crearon ramas feature para evitar trabajar sobre la rama principal, a medida de completar una funcionalidad se realizó PR sobre la rama develop, esto para cuando trabajemos en una nueva funcionalidad podamos tener los archivos actualizados, ya que cada rama feature se "desprende" de la rama develop. Aqui hemos realizado los PR por cada funcionalidad

image

Al realizar terminar cada feature se verifico que las pruebas siguieran funcionando, tanto las ya realizadas como las recién hechas, para cada feature no tuvimos problemas con interrumpir otras pruebas, al finalizar todas las implementaciones realizamos las pruebas para verificar que todas pasen.

image

CREAR CLASE DE PRUEBA

La clase LibraryTest. java fue creada dentro de la ruta edu.eci.cvds.tdd.Library,

COBERTURA

image

SONARQUBE

Instalamos sonarqube por medio del siguiente link

https://docs.docker.com/desktop/setup/install/windows-install/

image

teniendo docker ya instalado, procedemos a realizar el comando "docker pull sonarqube"

image

utilizamos el comando docker run -d --name sonarqube -e SONAR_ES_BOOTSTRAP_CHECKS_DISABLE=true -p 9000:9000 sonarqube:latest

image

la validación de que docker funciona se puede revisar tanto por consola "docker ps -a" como por la aplicación

image

image

image

image

iniciamos sesion con las credenciales dadas, nueva contraseña: cvdsMG20251%

image

ahora vamos a modificar los tokens

  • Account -> security -> generate token.

image

vamos a generar un token de prueba

image

image

Ahora, estamos manejando el entorno intellij por medio de los pluggins

image

image

image

Se reconstruye el proyecto usando "mvn package"

image

una vez descargado el plugin de SonarQube, se utiliza el comando:

mvn verify sonar:sonar -D sonar.token=sqa_4e8080da17edea921081be4f5a348d1941683156

image

Para terminar, el reporte de SonarQube se ve de esta forma:

image

Y desde Docker se ve de esta forma el reporte:

image

About

Lab 03 cvds 2025

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages