ant - results - ¿El complemento Jenkins JUnit Test Report Report indica que el archivo JUnit xml no se encuentra?
result analyzer (2)
El mensaje exacto recibido de Jenkins es:
No test report files were found. Configuration error?
Build step ''Publish JUnit test result report'' changed build result to FAILURE
Al configurar el complemento Informe de resultados de prueba de JUnit, al ingresar la ruta de los XML de informe de prueba como "/ reports/TEST-*.xml", se muestra el siguiente error debajo de la ruta:
''/reports/TEST-*.xml'' doesn''t match anything: '''' exists but not ''/reports/TEST-*.xml''
He intentado usar la ruta completa también, pero eso produce el mismo resultado. En ambos casos, las rutas deben haber recogido el archivo ''TESTS-TestSuites.xml'' que estaba presente en el directorio / reports.
No estoy seguro de si esto es un problema con el complemento o el archivo XML que se está generando. También soy consciente de que podría ser un problema con el script de compilación ant que escribí para ejecutar las pruebas de JUnit y generar el archivo de resultados XML, por lo que he incluido el contenido de este a continuación en caso de que sea necesario cambiar algo:
<?xml version="1.0" encoding="utf-8"?>
<project name="jenkins-tests" basedir="." default="linux">
<property name="junit.output.dir" value="output"/>
<property name="src.dir" value="src"/>
<property name="lib.dir" value="libs" />
<property name="bin.dir" value="bin" />
<property name="full-compile" value="true" />
<path id="classpath.base"/>
<path id="classpath.test">
<pathelement location="${bin.dir}" />
<pathelement location="${src.dir}" />
<pathelement location="${lib.dir}" />
<pathelement location="${lib.dir}/junit.jar" />
<path refid="classpath.base" />
</path>
<target name="clean" description="Clean up build artefacts">
<delete dir="${basedir}/${junit.output.dir}" />
</target>
<target name="prepare" depends="clean" description="Prepare for build">
<mkdir dir="${basedir}/${junit.output.dir}" />
<mkdir dir="${junit.output.dir}/reports"/>
</target>
<target name="compile" depends="prepare">
<javac srcdir="${src.dir}" destdir="${bin.dir}" verbose="${full-compile}" includeAntRuntime="false" >
<classpath refid="classpath.test"/>
</javac>
</target>
<target name="test" depends="compile">
<junit printsummary="true" haltonfailure="false">
<formatter type="xml" usefile="true"/>
<classpath refid="classpath.test" />
<batchtest fork="yes" todir="${junit.output.dir}">
<fileset dir="${src.dir}">
<include name="*.java"/>
</fileset>
</batchtest>
</junit>
</target>
<target name="test-reports" depends="test">
<junitreport tofile="TESTS-TestSuites.xml" todir="${junit.output.dir}/reports">
<fileset dir="${junit.output.dir}">
<include name="TEST-*.xml" />
</fileset>
<report format="frames" todir="${junit.output.dir}/reports" />
</junitreport>
</target>
</project>
He estado investigando este problema por un tiempo y no he encontrado ninguna solución, así que agradecería cualquier ayuda. Gracias.
Jenkins busca la ruta desde la raíz del espacio de trabajo. Asegúrese de que la ruta dada sea correcta o use comodines para buscar en varias ubicaciones. Intente usar **/reports/TEST-*.xml
¿Está seguro de que la carpeta de informes está justo debajo del área de trabajo? Verifique manualmente si los archivos de resultados de la prueba están presentes en la ubicación indicada en la ruta.