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?