2013-05-01 20 views
13

Provo a eseguire dotCover con i miei test NUnit, in TeamCity 8 come passo di costruzione. Ma non metter quello che cerco ottengo sempre lo stesso errore nel file di registro:DotCover in TeamCity 8 non funziona

Passo 4/4: Copertura (NUnit) (1s)
[Passo 4/4] di partenza: C: \ TeamCity \ buildAgent \ plugins \ dotnetPlugin \ bin \ JetBrains.BuildServer.NUnitLauncher.exe #TeamCityImplicit
[Passo 4/4] nella directory: C: \ TeamCity \ buildAgent \ lavori \ 6aee0f0d2626793d
[Passo 4/4] ## TeamCity [ importData type = 'dotNetCoverage' tool = 'dotcover' file = 'C: \ TeamCity \ buildAgent \ temp \ buildTmp \ coverage_dotcover3226256377023598081.data']
[Passaggio 4/4] Importazione di dati da 'C: \ TeamCity \ buildAgent \ temp \ buildTmp \ coverage_dotcover3226256377023598081.data' con processore 'dotNetCoverage'
[Passaggio 4/4] File di report di copertura rifiutato: C: \ TeamCity \ buildAgent \ temp \ buildTmp \ coverage_dotcover3226256377023598081.data: 0. Il file è vuoto o non esiste
[Step 4/4 ] processo è terminato con il codice di -2.146,232576 millions
[Passo 4/4] Passo di copertura (NUnit) fallito

ho cercato di utilizzare sia il incluso nel TeamCity dotCover e separatamente installato uno, ma entrambi non riescono con lo stesso errore.

La mia configurazione:

NUnit tests + coverage configuration

Se scelgo senza strumento di copertura di, i test funzionano bene da solo. Ma con dotCover selezionato ottengo sempre lo stesso errore.

Qualsiasi aiuto qui sarebbe molto apprezzato.

+0

Giusto per chiarire, la mia versione di TeamCity è TeamCity Enterprise 8.0 EAP (build 27147), e sì ho visto questa pagina: http://youtrack.jetbrains.com/issue/TW-25856 ma dice che lo stato è stato risolto . – domderen

+1

Potrebbe inviarci il file di log di dotCover (a [email protected] o http://youtrack.jetbrains.com/issues/DCVR)? Per farlo, completare i seguenti passaggi: - aggiungere il parametro di configurazione "teamcity.agent.dotCover.log" con il valore "% system.teamcity.build.tempDir%/dotCoverLogs" - Esegui build - vai a compilare gli artefatti , seleziona "mostra artefatti nascosti" e trova .teamcity/.NETCoverage/dotCoverLogs.zip –

+0

Sei sicuro che i test siano stati eseguiti? – Martin

risposta

6

Partenza: http://confluence.jetbrains.com/pages/viewpage.action?pageId=49448495

Nel caso di interno TeamCity dotCover, si deve aggiungere il "tutto PACCHETTI APPLICATIVI" lettura dei diritti di accesso alla cartella di installazione TeamCity. Se si utilizza un DotCover esterno, aggiungere i diritti lì.

Questo ha corretto il problema per me, per ora.

+0

Si noti che questo si applica alla cartella di installazione binaria di TeamCity, nel caso in cui non si utilizzi 'Programmi (x86)' –

+1

@ByronRoss Come sappiamo quale cartella è quella con TeamCity? Ne ho solo una chiamata in questo modo ma è nella radice (ad es. * C: \ teamcity *). E ho lasciato che l'utente * SYSTEM * facesse tutti i tipi di cose (non ha trovato nulla chiamato * TUTTI I PACCHETTI DELLE APPLICAZIONI *, vale a dire - lettura, scrittura e il resto delle cose.) Senza fare altro, cosa si può fare di più –

2

Probabilmente è perché si sta eseguendo questo su build agent senza .NET 3.5 (ma con 4.0). È facile da controllare perché otterrai un'eccezione subito dopo aver eseguito dotCover.exe su questo agente. Installa .NET 3.5 (utilizzando Server Manager in caso di Windows più recente).

La prossima cosa è che c'è un altro bug con dotCover in TeamCity 8. È necessario utilizzare l'installazione di prova dotCover fino a quando non lo risolvono (e inserire il percorso di dotCover installato nella configurazione del passo di costruzione).

Ha risolto il problema nel mio caso.

+0

Di quale versione di TC stiamo parlando? –

1

È interessante notare che, almeno per me, ha funzionato per me una volta che la copertura del codice disabilitato (vale a dire non-selezionato un elemento nella .NET Copertura strumento discesa) e corse la compilazione. Quando ho riattivato la copertura del codice ha funzionato (senza altre modifiche a qualcosa in TeamCity o sul server di build). Strano!

Attualmente sono in esecuzione TeamCity versione 8.0.4 (build 27616).

+0

Quale elemento hai disattivato? I test? –

+1

@KonradViltersten, ho appena disattivato la copertura del codice, ovvero ho scelto * * nel menu a discesa * .NET Coverage Tool *. –

0

Questo è simile al mio problema, in cui NUnit non viene eseguito quando dotCover è abilitato.

Ho risolto impostando .NET Durata: Piattaforma: come x86 nel menu a discesa di configurazione e penso che l'errore è dovuto alla squadra della città non riesce a capire quale è la piattaforma corretta.

Problemi correlati