es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo ejecutar Testcontainers con sistema de archivos en memoria TMPFS configurado en Quarkus.

Tengo el siguiente problema.

Para acelerar el proceso de pruebas de integración, quiero ejecutar testcontainers con Quarkus con la opción TMPFS activada. Esto obligará a testcontainers a ejecutar la base de datos con un sistema de archivos en memoria.

Esto se puede hacer fácilmente siguiendo las instrucciones en la página web de testcontainers, como se indica a continuación:

Para pasar esta opción al contenedor, agregue el parámetro TCTMPFS a la URL de la siguiente manera:
jdbc:tc:postgresql:9.6.8:///databasename?TC
TMPFS=/testtmpfs:rw

Parece que el problema está resuelto. Así es como debería funcionar con Spring Boot.

Sin embargo, en la documentación de Quarkus, se indica lo siguiente:

Todos los servicios basados en contenedores se ejecutan mediante testcontainers. Aunque se pueden configurar propiedades de URL adicionales en el archivo application.properties, las propiedades específicas de testcontainers, como TCINITSCRIPT, TCINITFUNCTION, TCDAEMON, TCTMPFS no son compatibles.

Mi pregunta es: ¿cómo se puede solucionar esto? ¿Cómo puedo ejecutar mi testcontainer montado en TMPFS?

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Según la documentación de Quarkus, propiedades específicas de testcontainers como TC_TMPFS no son soportadas. Sin embargo, existen soluciones alternativas que pueden implementarse para lograr el resultado deseado.

    Una opción es utilizar un archivo Docker Compose para definir el ambiente de prueba. En este archivo, puedes definir el contenedor de servicio y especificar el montaje de TMPFS. Luego, puedes usar el método Testcontainers.compose para iniciar los contenedores definidos en el archivo Docker Compose.

    Otra opción es extender el framework de prueba de Quarkus para agregar soporte a TC_TMPFS. Esto podría hacerse creando una extensión personalizada que agrega la lógica necesaria para manejar la propiedad. Sin embargo, esto requeriría más esfuerzo y experiencia en el desarrollo de extensiones de Quarkus.

    En general, aunque TC_TMPFS no es soportado directamente en Quarkus, existen alternativas disponibles para lograr el mismo resultado.

Comments are closed.