¿Por qué el Sonar no lee mis resultados de JUnit XML en Jenkins?
Estoy tratando de obtener JUnit informes de prueba de nuestra integración continua Jenkins construye en Sonar para nuestro proyecto de Android. Estoy a un pelo de éxito y no puedo entender el último paso.
La construcción se hace con Ant.
- Análisis de Android Project con Lint y SonarQube
- La cobertura general de Sonarqube no coincide con la cobertura de informes de jacoco
- Sonar Android Lint sin problemas encontrados
- Configuración adecuada para "sonar.libraries" en un moderno proyecto Gradle Android
- Plugin de SonarQube con Android Studio
Estoy usando el emulador Jenkins-started y ejecutando las pruebas con el corredor de prueba de XML JUnit faltante de android . Las pruebas se ejecutan y com.my.package.thing-TEST.xml
éxito los archivos de resultados XML de JUnit ( com.my.package.thing-TEST.xml
, etc.) del dispositivo en un directorio designado utilizando las instrucciones proporcionadas por los autores del test runner.
El análisis de Sonar se realiza mediante el paso de compilación "Invocar el Análisis de Sonar Independiente" proporcionado por el complemento Jenkins Sonar . Tengo las propiedades del proyecto configuradas de modo que todo el análisis de la fuente estática y todo esto sea enviado con éxito al servidor de Sonar.
Mi problema es que no empujará los resultados de la prueba de JUnit junto con todo el resto del análisis. He seguido las instrucciones de Sonar sobre la reutilización de los informes de prueba . En particular, he establecido estas propiedades:
sonar.dynamicAnalysis=reuseReports sonar.surefire.reportsPath=android/REDACTED-test/junit-results
Puedo ver en la salida de compilación donde debe ser el análisis de los resultados:
17:52:28.013 INFO org.sonar.INFO - Execute Findbugs 2.0.0 done: 25446 ms 17:52:28.378 INFO p.PhasesTimeProfiler - Sensor FindbugsSensor done: 25812 ms 17:52:28.378 INFO p.PhasesTimeProfiler - Sensor SurefireSensor... 17:52:28.379 INFO spsSurefireSensor - parsing /jenkins/jobs/REDACTED/workspace/android/REDACTED-test/junit-results 17:52:28.383 INFO p.PhasesTimeProfiler - Sensor SurefireSensor done: 5 ms 17:52:28.383 INFO p.PhasesTimeProfiler - Sensor CpdSensor... 17:52:28.384 INFO ospcpd.CpdSensor - SonarEngine is used
He iniciado sesión en la máquina de construcción para echar un vistazo en el directorio mencionado y he confirmado que hay varios archivos XML de JUnit allí, pero por alguna razón, el servidor de Sonar todavía está reportando cero pruebas. Dado que el SurefireSensor sólo está tomando 5 ms, estoy bastante seguro de que no está viendo y / o abrir los archivos de resultados, pero no sé por qué. ¿Alguien puede ayudar?
- Publicar los resultados de Lint a Sonar usando Gradle
- Sonar, Gradle y Android devuelven 0 número
- No se encuentran clases de Android durante sonar anaysis
- Analiza el proyecto Android Studio (Gradle) con Sonarqube
- Android gradle construir que la cobertura de código para pruebas robolectric
- Sonar: Cómo utilizar gradle para inspeccionar un proyecto de android
- Cómo configurar la configuración de SONAR para el complemento de sonar intellij para Android Studio?
- Cobertura de código en Android Studio con Sonar & Gradle
El corredor produce nombres de resultado de prueba en el formato:
Android.package.name-TEST.xml
El complemento emma surefire sólo encuentra archivos .xml cuyos nombres empiecen por "TEST-". El corredor de prueba de xml de android que falta por desgracia sólo proporciona funcionalidad de sufijo, por lo que tendrá que modificar cada nombre de archivo manualmente agregando "TEST-" al frente.
- Android Spinner cambia dinámicamente artículos
- Facebook SDK "Los pernos de paquete no existen error" Android Studio