2016-03-19 11 views
0

Ich habe versucht, Jenkins für die Arbeit mit meinem C# -Projekt einrichten, um automatisierte Tests und Code-Abdeckung zu tun. Ich habe die Test- und Code-Coverage-Dateien generiert und konvertiert mit CoverageConverter.exe (keine Plugins verwenden - nur gerade Batch-Dateien und rohe EXEs), aber wenn ich den MSTest Post-Build-Schritt hinzufügen, um die Daten in Jenkins anzuzeigen , ich die folgende Fehlermeldung erhalten:Jenkins MSTest-Plugin Fehler: java.lang.NoClassDefFoundError: hudson/maven/MavenBuild

[MSTEST-PLUGIN] Processing test results in file(s) **/*.trx 
MSTest: D:\Jenkins\jobs\Framework\workspace\TestResults\james_CD 2016-03-18 20_05_13.trx 
ERROR: Step ‘Publish MSTest test result report’ aborted due to exception: 
java.lang.NoClassDefFoundError: hudson/maven/MavenBuild 
    at hudson.plugins.emma.EmmaPublisher.perform(EmmaPublisher.java:103) 
    at hudson.plugins.mstest.MSTestPublisher.perform(MSTestPublisher.java:134) 
    at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20) 
    at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:782) 
    at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:723) 
    at hudson.model.Build$BuildExecution.post2(Build.java:185) 
    at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:668) 
    at hudson.model.Run.execute(Run.java:1763) 
    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43) 
    at hudson.model.ResourceController.execute(ResourceController.java:98) 
    at hudson.model.Executor.run(Executor.java:410) 
Caused by: java.lang.ClassNotFoundException: hudson.maven.MavenBuild 
    at jenkins.util.AntClassLoader.findClassInComponents(AntClassLoader.java:1376) 
    at jenkins.util.AntClassLoader.findClass(AntClassLoader.java:1326) 
    at jenkins.util.AntClassLoader.loadClass(AntClassLoader.java:1079) 
    at java.lang.ClassLoader.loadClass(Unknown Source) 
    ... 11 more 

Trotz der Fehler, erscheint die ‚Tester Trend‘ Grafik zeigt auf der Projektseite und ein Abschnitt für ‚Code-Coverage-Trend‘ richtig, und es ist zu sein, aber das hat einen gebrochenen Bildlink.

ich die Tests und Code Coverage laufe den folgenden Batch-Schnipsel mit:

@ECHO "`nRunning tests`n---------------------------" 
"C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe" TestFramework\bin\Release\TestFramework.dll /EnableCodeCoverage /Settings:TestFramework\Settings.testsettings /Logger:trx 
@ECHO %ERRORLEVEL% 
REM @IF %ERRORLEVEL% NEQ 0 EXIT 1 

@ECHO "`n`nConverting code coverage results`n---------------------------" 
@IF EXIST emma\. rd emma /s /q >nul 
md emma 
del emma\temp.coverage /Q >nul 
for /R TestResults %%f in (*.coverage) do copy "%%f" emma\temp.coverage /B /Y 
"C:\Program Files\JenkinsUtilities\CoverageConverter\CoverageConverter.exe" /in:emma\temp.coverage /out:emma\coverage.xml /xsl:"C:\Program Files\JenkinsUtilities\MSTestCoverageToEmma.xsl" 
goto END 

ich den grundlegenden Prozess von einem anderen Jenkins System kopiert, wo ein ähnliches Projekt arbeitet, aber keine relevanten Unterschiede nicht finden kann, zwischen den Systemen.

Ich habe bereits versucht: 1. Aktualisierung Java 2. Aktualisierung Jenkins 3. Deinstallation und Neuinstallation der MSBuild, MSTest, MSTest Runner und VSTest Runner, und Maven Integration Plugins.

Ich fühle mich wie ich bin wirklich nah an dieser Stelle, aber ich habe sehr wenig Erfahrung mit Java, so bin ich ratlos, diesen Fehler zu diesem Zeitpunkt zu korrigieren. Kann mir jemand helfen, die ClassNotFoundException zu diagnostizieren?

Antwort

0

Nachdem ich verzweifelt Protokolle durchkämmt und Eclipse (auf einem anderen Rechner) installiert habe, um in die Java-Dateien zu schauen, begann es unerwartet zu arbeiten. Es könnte mit der Installation des JaCoCo-Plugins zusammenhängen, das ich auch installiert habe, als ich bemerkte, dass das Emma Line Coverage-Plugin, das ich zuvor installiert hatte, die Ergebnisse anzeigt, dass es vom JaCoCo-Plugin übertroffen wurde.

Verwandte Themen