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.

Ejecutar JUnit solo para un microservicio específico.

Tenemos alrededor de 15 microservicios en un repositorio. Mientras creamos una solicitud de extracción (PR), todos los 15 microservicios están ejecutando sus junit. ¿Es posible ejecutar solo el junit del microservicio específico? Estamos utilizando la herramienta Gradle y el pipeline de Jenkins.

Por ejemplo:
Microservicios: A, B, C, D

Cambios realizados solo en C,

Esperando: solo se ejecute el junit del microservicio C desde Jenkins

no A, B y D.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Sí, es posible ejecutar solo los junits específicos de un microservicio al crear una PR en el pipeline de Jenkins utilizando la herramienta Gradle.

    Puedes definir una tarea de Gradle para ejecutar solo los junits de un microservicio en particular especificando el directorio fuente de ese microservicio en la tarea ‘test’ de Gradle. Por ejemplo, si solo quieres ejecutar los junits del microservicio C, puedes definir la siguiente tarea en tu archivo de construcción Gradle:

    task testC(type: Test) {
        testClassesDirs = fileTree(dir: 'microservices/C/build/classes/java/test')
        classpath = sourceSets.test.runtimeClasspath
    }
    

    Luego, en tu pipeline de Jenkins, puedes usar esta tarea de Gradle para ejecutar solo los junits del microservicio C al crear una PR para ese microservicio:

    stage('Ejecutar Junits') {
        steps {
            sh './gradlew testC'
        }
    }
    

    De esta manera, solo se ejecutarán los junits del microservicio C durante el pipeline, y A, B y D no se ejecutarán innecesariamente.

Comments are closed.