2012-10-12 65 views
8

que tienen un proyecto en el que Jenkins Quiero crear un informe de cobertura de código JaCoCo. Si ejecuto jacoco:test localmente, entonces crea los archivos correctos (.exec, .classes y sources) en myproject/target/scala-2.9.1/jacoco para que funcione.Jenkins y JaCoCo con SBT

Sin embargo, al construir en jenkins esto solo crea el directorio de clases, lo que significa que recoge el código pero no la prueba que lo cubre, así que obtengo una cobertura de código del 0%.

alguien tiene jacoco trabajar con SBT de esta manera?

Respuesta

0

No proporcionó mucha información sobre la configuración de su trabajo de Jenkins, así que estoy haciendo algunas suposiciones, pero puede agregar/ejecutar varios pasos de compilación en un trabajo de Jenkins. Los pasos de compilación ejecutan cosas como ejecutar Maven o ejecutar cualquier script arbitrario.

El primer paso de compilación puede ser un paso de compilación Maven que ejecute "jacoco: test jacoco: informe" para ejecutar Jacoco y luego el segundo paso de compilación puede ser cualquier otro que esté buscando que esté buscando el archivo jacoco.exec.

2

yo estaba corriendo en el mismo tema cuando se trata de iniciar un nuevo proyecto Scala. Después de probar varias configuraciones de ruta, pude encontrar una solución.

El valor predeterminado para la ruta a los directorios de clase es **/classes. Sospecho que el problema es que el modelo permite a juego target/scala-X.XX/classes/ y target/scala-X.XX/jacoco/classes/.

Al cambiar la ruta del directorio de clase a target/*/classes, se permitió que el complemento Jenkins comenzara a informar la información de cobertura correcta.

+0

Sorprendente! Gracias a esta publicación, descubrí que necesitaba usar '**/target/*/classes'. – kilo

+0

Estoy enfrentando el mismo problema. ¿Puedes decir en detalle para qué propiedad necesitamos establecer "target/*/classes"? –

Cuestiones relacionadas