Giter VIP home page Giter VIP logo

samples-test-java's Introduction

Build Status Quality Gate Status Javadoc

samples-test-java

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.

Descargar la última versión - Ver más detalles en el javadoc

Contenido

Permite ilustrar, entre otros:

  • Repaso del uso de JDBC para acceder a bases de datos
  • 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
  • Automatización de pruebas de un interfaz de usuario AssertJ Swing
  • Automatización de pruebas BDD con JBehave (unitarias y de interfaz de usuario)
  • Estructura y configuración de un proyecto Maven con separacion de pruebas unitarias (UT) y de integración (IT) y diferentes reports

Contiene los siguientes paquetes principales:

  • giis.demo.jdbc: Repaso de acceso a base de datos con jdbc
  • giis.demo.tkrun: Ilustra estructura de proyecto MVC con Swing (TicketRun)
  • giis.demo.tkrun.ut: Ilustra pruebas con JUnit para TicketRun
  • giis.demo.tkrun.it: Ilustra pruebas con AssertJ Swing para TicketRun
  • giis.demo.descuento.*: Ilustra lo anterior para Descuento, más pruebas BDD con JBehave
  • giis.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ón
  • src/test/java: Pruebas unitarias
  • src/it/java: Pruebas de integración con el interfaz de usuario
  • target: Generado con el codigo objeto y reports

Requisitos e Instalación

  • Descargar la última versión y disponer al menos de Java 8 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). Desde la raiz del proyecto:

    • Asegurarse de que esta configurado JDK: Desde build path, editar JRE System Library y en Environment comprobar que JavaSE-1.8 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

Reports

La instalacion anterior compilará, ejecutará pruebas y dispondrá de los reports en carpetas dentro de target:

  • site/testapidocs/index.html: javadoc del proyecto
  • site/surefire-report.html: report de las pruebas unitarias (ut)
  • site/failsafe-report.html: report de las pruebas del interfaz de usuario (it)
  • site/junit*: report consolidado de todas las pruebas con el formato que genera junit
  • site/jacoco*: reports de cobertura de código consolidado, y separado para ut e it
  • jbehave: reports estandar de jbehave

samples-test-java's People

Contributors

dependabot[bot] avatar javiertuya avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar

samples-test-java's Issues

Fix breaking change introduced by SQLite 3.43.2.0

SQLite introduced a breaking change when including SLF4J 2.0 using the new fluent api to create logs: xerial/sqlite-jdbc#990:

  • If the project uses SLF4J 1.7 a java.lang.NoSuchMethodError exception is raised at org.slf4j.Logger.atTrace()
  • I have solved this regression in other projects by updating to slf4j 2.0 and log4j-slf4j2-impl.
  • However, this project already uses slf4j 2.0.
  • Testing using reload4j and log4j-slf4j2-impl raises the same exception.
  • Exception appears in JBehave ut tests.

Workaround: disable this SQLite update.

Update to Surefire 3.2.1 fails tests with timeout related exceptions

Executing in CI the update #124 fails IT tests (repeatable):

[INFO] Running giis.demo.descuento.it.ITDescuento
Error:  Tests run: 2, Failures: 0, Errors: 2, Skipped: 0, Time elapsed: 19.08 s <<< FAILURE! -- in giis.demo.descuento.it.ITDescuento
Error:  giis.demo.descuento.it.ITDescuento.testDescuentoScenario -- Time elapsed: 18.56 s <<< ERROR!
org.assertj.swing.exception.WaitTimedOutError: 
Timed out waiting for component to be found using matcher org.assertj.swing.core.NameMatcher[name='Descuento', type=java.awt.Frame, requireShowing=true]
Unable to find component using matcher org.assertj.swing.core.NameMatcher[name='Descuento', type=java.awt.Frame, requireShowing=true].

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.