Commit 3ce57d09 authored by Administrator's avatar Administrator

Adds a better explanation of the different construction methods

This commit updates the README.md file to include better and more detailed
descriptions of how to construct and execute the application.
parent b0904247
...@@ -7,16 +7,62 @@ Ingeniería Informática de la Universidad de Vigo. ...@@ -7,16 +7,62 @@ Ingeniería Informática de la Universidad de Vigo.
## Ejecución con Maven ## Ejecución con Maven
La configuración de Maven ha sido preparada para permitir varios tipos de La configuración de Maven ha sido preparada para permitir varios tipos de
ejecución. En concreto: ejecución.
* La ejecución por defecto (p.ej. `mvn install`) incluye los tests de
unidad, integración y aceptación (con Selenium). ### Ejecución de la aplicación con Tomcat y MySQL
* Si no se desea ejecutar los tests de aceptación debe desactivarse el perfil
`acceptance-tests-cargo`. Por ejemplo: `mvn -P -acceptance-tests-cargo install`. El proyecto está configurado para poder ejecutar la aplicación sin tener que
* Si se desea arrancar el servidor para ejecutar los tests de aceptación realizar ninguna configuración adicional salvo tener disponible un servidor
manualmente (se usará una base de datos HSQL), se debe ejecutar el comando: MySQL en local.
`mvn -Dcargo.tomcat.start.skip=true -Dcargo.tomcat.run.skip=false
-DskipTests=true pre-integration-test` Los ficheros del proyecto `db/mysql.sql` y 'db/mysql-with-inserts.sql' contienen
* Si se desea arrancar el servidor con la base de datos MySQL, debe utilizarse todas las consultas necesarias para crear la base de datos y el usuario
el comando: `mvn -DskipTests=true -P run-tomcat-mysql,-acceptance-tests-cargo requeridos, con o sin datos de ejemplo, respectivamente. Por lo tanto, podemos
clean package cargo:run`. En el directorio `db` del proyecto se pueden configurar inicialmente la base de datos con cualquiera de los siguientes
encontrar los scripts necesarios para crear la base de datos en MySQL. comandos (desde la raíz el proyecto):
* Sin datos: `mysql -u root -p < db/mysql.sql`
* Con datos: `mysql -u root -p < db/mysql-with-inserts.sql`
Una vez configurada la base de datos podemos lanzar la ejecución con el comando:
`mvn -Prun-tomcat-mysql -DskipTests=true package cargo:start`
Para parar la ejecución podemos utilizar `Ctrl+C`.
### Ejecución de la aplicación con Tomcat y MySQL con redespliegue automático
Durante el desarrollo es interesante que la apliación se redespliegue de forma
automática cada vez que se hace un cambio. Para ello podemos utilizar el
siguiente comand:
`mvn -Prun-tomcat-mysql -DskipTests=true package cargo:start fizzed-watcher:run`
Para parar la ejecución podemos utilizar `Ctrl+C`.
### Construcción con tests de unidad e integración
En esta construcción se ejecutarán todos los tests relacionados con el backend:
* **Unidad**: se utilizan para testear las entidades y las capas DAO y REST de
forma aislada.
* **Integración**: se utilizan para testear las capas REST y DAO de forma
integrada. Para este tipo de pruebas se utiliza una base de datos HSQL en
memoria.
El comando para lanzar esta construcción es:
`mvn install`
### Construcción con tests de unidad, integración y aceptación
Esta construcción es similar a la previa, añadiendo las **pruebas de
aceptación**, que comprueban que las fucionalidades de la aplicación están
correctamente implementadas.
En estas pruebas se descarga y arranca el un servidor Tomcat 8 en el que se
despliega la aplicación configurada para utilizar una base de datos HSQL. Las
pruebas se hacen sobre la interfaz web con Selenium, que iniciará un Firefox
local de forma automática.
`mvn -Pacceptance-tests-cargo install`
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment