Este proyecto es utilizado a modo de ejemplo para ilustrar algunos aspectos del desarrollo y automatización de pruebas para las asignaturas relacionadas con ingenieria del software, sistemas de información y pruebas de software.
Existe una variante simplificada de este proyecto para usar como plantilla en las prácticas de estas asignaturas: https://github.com/javiertuya/samples-test-dev
Descargar la última versión - Ver más detalles en el javadoc
Permite ilustrar, entre otros:
- Repaso del uso de JDBC para acceder a bases de datos
- Acceso a bases de datos con Apache Commons DbUtils
- Un conjunto de utilidades para simplificar el acceso a base de datos y el uso de tablas en Swing
- Implementación de MVC con Swing
- Automatización de pruebas unitarias con varias versiones de JUnit 6
- Automatización de pruebas de un interfaz de usuario AssertJ Swing
- Automatización de pruebas BDD con Cucumber (unitarias y de interfaz de usuario)
- Estructura y configuración de un proyecto Maven con separacion de pruebas unitarias (UT) ejecutadas con surefire y de integración (IT) ejecutadas con failsafe y diferentes reports
Contiene los siguientes paquetes principales:
giis.demo.jdbc: Repaso de acceso a base de datos con jdbcgiis.demo.tkrun: Ilustra estructura de proyecto MVC con Swing (TicketRun)giis.demo.tkrun.ut: Ilustra pruebas con JUnit para TicketRungiis.demo.tkrun.it: Ilustra pruebas con AssertJ Swing para TicketRungiis.demo.descuento.*: Ilustra lo anterior para Descuento, más pruebas BDD con Cucumbergiis.demo.util: Diferentes utilidades de uso por parte de los anteriores
La estructura es la estándar de maven:
src/main/java: Codigo fuente de aplicaciónsrc/test/java: Pruebas unitariassrc/it/java: Pruebas de integración con el interfaz de usuariotarget: Generado con el codigo objeto y reports
-
Descargar la última versión y disponer al menos de Java 17 JDK
-
Desde línea de comandos con Apache Maven:
- Asegurarse de que JAVA_HOME apunta a un JDK y no JRE
- Ejecución completa:
mvn install, incluye generación del Javadoc - Solo pruebas unitarias:
mvn test, todas las pruebas:mvn verify - Ejecución sin tests:
mvn install -DskipTests=true, genera todos los jar incluyendo javadoc
-
Desde Eclipse con M2Eclipse instalado (las distribuciones recientes ya lo incluyen).
- Asegurarse de que esta configurado JDK: Desde build path, editar JRE System Library y en Environment comprobar que JavaSE-17 apunta a un JDK en vez de un JRE
- Maven->Update Project: Actualiza todas las dependencias y permite usar el proyecto como si hubiera sido creado desde el propio Eclipse
- Run As->Maven install: Ejecuta este (o otros) comandos maven desde Eclipse
Programa principal (aplicaciones swing): giis.demo.util.SwingMain
La instalacion anterior compilará, ejecutará pruebas y dispondrá de los reports en carpetas dentro de target:
reports/testapidocs/index.html: javadoc del proyectoreports/surefire.html: report estandar de las pruebas unitarias (ut)reports/failsafe-report.html: report estandar de las pruebas del interfaz de usuario (it)site/junit*: report consolidado de todas las pruebas con el formato que genera junitsite/jacoco*: reports de cobertura de código consolidado, y separado para ut e itreports/cucumber.html: reports html estandar de Cucumber