# Ejecutar pruebas y siguientes pasos


## Ejecutar las pruebas

```console
$ ./mvnw test
```

O con Gradle:

```console
$ ./gradlew test
```

Deberías ver cómo se inicia el contenedor Docker de PostgreSQL y cómo pasan todas
las pruebas. Una vez finalizadas las pruebas, el contenedor se detiene y se elimina
automáticamente.

## Ejecutar la aplicación localmente

Quarkus Dev Services aprovisiona automáticamente servicios no configurados en modo
de desarrollo. Inicia la aplicación Quarkus en modo de desarrollo (dev mode):

```console
$ ./mvnw compile quarkus:dev
```

O con Gradle:

```console
$ ./gradlew quarkusDev
```

Dev Services inicia un contenedor PostgreSQL automáticamente. Si tienes una base de
datos PostgreSQL ejecutándose en tu sistema y deseas usarla en su lugar, configura
las propiedades del datasource en `src/main/resources/application.properties`:

```properties
quarkus.datasource.jdbc.url=jdbc:postgresql://localhost:5432/postgres
quarkus.datasource.username=postgres
quarkus.datasource.password=postgres
```

Cuando estas propiedades se configuran explícitamente, Dev Services no aprovisiona
el contenedor de la base de datos y, en su lugar, se conecta a la base de datos
configurada.

## Resumen

Quarkus Dev Services mejora la experiencia de desarrollo al aprovisionar
automáticamente los servicios requeridos utilizando Testcontainers durante el
desarrollo y las pruebas. Esta guía cubrió:

- Construir una API REST utilizando JAX-RS con Hibernate ORM con Panache
- Probar endpoints de API utilizando REST Assured, con Dev Services encargándose del
  aprovisionamiento de la base de datos
- Utilizar `QuarkusTestResourceLifecycleManager` para servicios no compatibles con
  Dev Services
- Ejecutar la aplicación de forma local con Dev Services

Para obtener más información sobre Testcontainers, visita la
[introducción a Testcontainers](https://testcontainers.com/getting-started/).

## Lecturas adicionales

- [Descripción general de Quarkus Dev Services](https://quarkus.io/guides/dev-services) (en inglés)
- [Guía de pruebas en Quarkus](https://quarkus.io/guides/getting-started-testing) (en inglés)
- [Módulo Postgres de Testcontainers](https://java.testcontainers.org/modules/databases/postgres/) (en inglés)

