5

Come integrare dotcover e Jenkis.Come integrare dotcover e Jenkis

Qualsiasi PDF o Guida?

Sono stato in grado di eseguire il dot cover tramite la riga di comando e generare risultati di test. Tuttavia, quando provo a eseguire Jenkins tramite il comando batch di Windows, genera un errore come

Il comando 'copertina' non supporta 2 argomenti senza nome Digitare 'dotCover help' per l'uso.

Manca qualcosa?

+0

Ho esattamente lo stesso problema, qualche progresso? La pagina –

+0

[This] (https://www.jetbrains.com/help/dotcover/2016.3/dotCover__Console_Runner_Commands.html) contiene descrizioni dettagliate sul comando dotcover.exe: –

risposta

6

Uso dotCover di Jenkins. Ho più DLL che devono essere testate, quindi il mio lavoro eseguirà dotcover per ogni DLL, unirà le istantanee del test e genererà un report HTML. La mia configurazione Jenkins comprende "plug-in HTML Publisher" e "plug NUnit"

Prima afferrare gli strumenti della riga di comando e metterlo sul server Jenkins: dotCoverCommandLineTools

Eseguire lo strumento da riga di comando in un comando finestre batch:

windows batch command to run tests

ho avuto poca fortuna cercando di passare params nella linea di comando, così ho usato il xml impostazioni da dotCover (contenuto di 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> 

I percorsi sul server Jenkins sono codificati perché sono pigro. So che dovrebbe essere un parametro in qualche modo ma funziona per ora.

Poi ho unire tutte le istantanee: merge

Contenuti di merge xml:

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

quindi eseguire il report: report

Contenuto del report.xml:

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

Tutti i file .xml qui sopra risiedono in una cartella denominata "TestReports", ed è qui che metto in output tutti i risultati. Jenkins guarderà lì per pubblicare il rapporto HTML ei risultati nunit: results publish

Quando tutto funziona correttamente, si dovrebbe ottenere il report dotCover ei risultati nunit sulla pagina del lavoro.