5

Wie man dotcover und Jenkis integriert.Wie man dotcover und Jenkis integriert

Irgendwelche PDF oder Anleitung?

Ich konnte die Punktabdeckung über die Befehlszeile ausführen und es Testergebnisse generieren. Jedoch, wenn ich versuche, in Jenkins durch Windows Batch-Befehl ausführen, wirft es einen Fehler als

Befehl 'Abdeckung' unterstützt nicht 2 unbenannte Argumente Geben Sie 'DotCover-Hilfe' für die Verwendung.

Alles fehlt?

+0

Ich habe genau das gleiche Problem, irgendeinen Fortschritt? –

+0

[This] (https://www.jetbrains.com/help/dotcover/2016.3/dotCover__Console_Runner_Commands.html) Seite enthält detaillierte Beschreibungen zum Befehl dotcover.exe: –

Antwort

6

Ich benutze DotCover von Jenkins. Ich habe mehrere DLLs, die getestet werden müssen, so dass mein Job Dotcover für jede DLL ausführt, die Test-Snapshots zusammenführt und einen HTML-Bericht generiert. Meine Jenkins Setup enthält "HTML Publisher Plugin" und "NUnit Plugin"

Zuerst greift die Kommandozeilen-Tools und legt es auf dem Jenkins Server: dotCoverCommandLineTools

Führen Sie das Kommandozeilen-Tool in einem Windows-Batch-Befehl:

windows batch command to run tests

ich wenig Glück hatte versucht params in der Kommandozeile übergeben, so dass ich verwendet, um die Einstellungen xml von dotCover (Inhalt dotCoverTRAEngineTest.xml):

<?xml version="1.0" encoding="utf-8"?> 
    <CoverageParams> 
     <TargetExecutable>C:\NUnit-2.6.3\bin\nunit-console.exe</TargetExecutable> 
<TargetArguments>C:\Jenkins\workspace\TRA.CodeCoverage\TRAEngine\TRAEngineTest\bin\x64\RduDev\TRAEngineTest.dll /xml:C:\Jenkins\workspace\TRA.CodeCoverage\TestReports\dotCoverTRAEngineTestRESULTS.xml</TargetArguments> 
     <TargetWorkingDir></TargetWorkingDir> 
     <Output>TRAEngineTestSnapshot.dcvr</Output> 
    </CoverageParams> 

Pfade auf dem Jenkins-Server sind hart codiert, weil ich faul bin. Ich weiß, dass es irgendwie ein Parameter sein sollte, aber es funktioniert für jetzt.

Next I verschmelzen alle Schnappschüsse: merge

Inhalt des Verschmelzungs xml:

<?xml version="1.0" encoding="utf-8"?> 
<MergeParams> 
    <Source>TRAUnitTests.dcvr</Source> 
    <Source>TRAEngineTestSnapshot.dcvr</Source>   
    <Output>MergedSnapshots.dcvr</Output> 
</MergeParams> 

Dann den Bericht ausführen: report

Inhalt report.xml:

<?xml version="1.0" encoding="utf-8"?> 
<ReportParams> 
    <Source>MergedSnapshots.dcvr</Source> 
    <Output>CoverageReport.html</Output> 
    <ReportType>HTML</ReportType> 
</ReportParams> 

Alle oben genannten .xml-Dateien befinden sich in einem Ordner mit dem Namen "TestReports", und dort gebe ich alle Ergebnisse aus. Jenkins wird dort suchen, um den HTML-Bericht und nunit Ergebnisse zu veröffentlichen: results publish

Wenn alles richtig funktioniert, sollten Sie den DotCover-Bericht und die Nunit Ergebnisse auf der Jobseite erhalten.