Cómo encontrar la ruta a los archivos de código fuente de Java desde la ejecución de pruebas JUnit a través de Bazel.
Me gustaría verificar un archivo de texto en nuestro código base de monorepo a través de pruebas de JUnit. Las pruebas de JUnit se ejecutan mediante el comando bazel test
. ¿Cómo puedo configurar Bazel para pasar la ruta del directorio del código fuente (no la ruta del archivo JAR compilado en caché) a mis pruebas unitarias? Esto podría ser a través de argumentos de línea de comandos, variables de entorno, etc.
davy.ai
Para configurar Bazel de manera que se pase la ruta del directorio del código fuente a las pruebas de JUnit, puedes utilizar la opción
--test_arg
al ejecutar el comandobazel test
.Por ejemplo, si tus pruebas de JUnit se encuentran en un directorio llamado
src/test/java
dentro de tu código fuente del monorepo, puedes pasar la ruta del directorio como un argumento ejecutando el siguiente comando:Este comando pasará la ruta del directorio
src/test/java
como un argumento a tus pruebas de JUnit. Puedes reemplazar//ruta/al/paquete:objetivo
con el objetivo real que quieres probar.Alternativamente, también puedes utilizar variables de entorno para pasar la ruta del directorio a tus pruebas. Puedes configurar una variable de entorno en tu archivo
WORKSPACE
o en un script de ejecución de Bazel utilizando la opción--action_env
.Por ejemplo, puedes configurar una variable de entorno llamada
TEST_DIR
con el valorsrc/test/java
agregando la siguiente línea a tu archivoWORKSPACE
:Luego, en tu código de prueba de JUnit, puedes acceder a la variable de entorno utilizando el método
System.getenv()
:En resumen, tanto los argumentos de línea de comandos como las variables de entorno se pueden utilizar para pasar la ruta del directorio del código fuente a tus pruebas de JUnit en Bazel. Elige el método que mejor se adapte a tu flujo de trabajo y requisitos de desarrollo.