Domanda

Risolto: Guardate in fondo a questa domanda per la lavorazione di configurazione


Sto tentando di stabilire NCover per l'uso nel mio progetto FinalBuilder, per un NET 4.0 progetto C #, ma il mio file di output copertura finale non contiene dati di copertura.

sto usando:

Tutti gli strumenti sono l'ultima ufficiale a partire da oggi.

Ho finalmente riuscito a FB coassiale ad attivare mio test di unità sotto NCover per il progetto NET 4.0, in modo da ottenere Tests run: 184, ..., che è corretto.

Tuttavia, l'output del file Coverage.xml finale NCover è quasi vuota, e si presenta come questo:

<?xml version="1.0" encoding="utf-8"?>
<!-- saved from NCover 3.0 Export url='http://www.ncover.com/' -->
<coverage profilerVersion="3.3.2.6211" driverVersion="3.3.2" exportversion="3" viewdisplayname="" startTime="2010-04-22T08:55:33.7471316Z" measureTime="2010-04-22T08:55:35.3462915Z" projectName="" buildid="27c78ffa-c636-4002-a901-3211a0850b99" coveragenodeid="0" failed="false" satisfactorybranchthreshold="95" satisfactorycoveragethreshold="95" satisfactorycyclomaticcomplexitythreshold="20" satisfactoryfunctionthreshold="80" satisfactoryunvisitedsequencepoints="10" uiviewtype="TreeView" viewguid="C:\Dev\VS.NET\LVK.IoC\LVK.IoC.Tests\bin\Debug\Coverage.xml" viewfilterstyle="None" viewreportstyle="SequencePointCoveragePercentage" viewsortstyle="Name">
  <rebasedpaths />
  <filters />
  <documents>
    <doc id="0" excluded="false" url="None" cs="" csa="00000000-0000-0000-0000-000000000000" om="0" nid="0" />
  </documents>
</coverage>

L'output nel registro FB è:

...
***************** End Program Output *****************

Execution Time: 1,5992 s

Coverage Xml: C:\Dev\VS.NET\LVK.IoC\LVK.IoC.Tests\bin\Debug\Coverage.xml
NCover Success

La mia configurazione del passo FB per NCover:

  • NCover ciò che :? Copertura di test NUnit
  • Comando : C:\Program Files (x86)\NUnit 2.5.4\bin\net-2.0\nunit-console.exe
  • Gli argomenti del comando : LVK.IoC.Tests.dll /noshadow /framework:4.0.30319 /process=single /nothread
    • Nota: ho provato con e senza le opzioni /process e /nothread
  • directory di lavoro : %FBPROJECTDIR%\LVK.IoC.Tests\bin\Debug
  • Elenco delle assemblee al profilo : %FBPROJECTDIR%\LVK.IoC.Tests\bin\Debug\LVK.IoC.dll
    • Nota. Ho provato solo elencando il nome del gruppo, sia con che senza l'estensione

La documentazione per la fase di FB non aiuta, in quanto elenca solo frasi minori per ogni proprietà, e non riesce a dare esempi o suggerimenti di risoluzione dei problemi.

Da quando ho voglia di tirare i risultati di copertura in NDepend per eseguire analisi di accumulo di tempo, voglio che file per contenere la necessità informazioni che ho.

Sono anche utilizzando TestDriven , e se fare clic destro sul file di soluzione e selezionare "Prova con NCover", NCover-explorer si apre con i dati di copertura, e se lo chiedo di mostrarmi la cartella con i file di copertura, là dentro è un file XML con la stessa struttura come quella di cui sopra, solo con tutti i dati che dovrebbero essere lì, quindi gli strumenti che ho è certamente in grado di produrlo.

Qualcuno ha un'idea di quello che ho configurato male qui?


Risolto : La seguente configurazione finalmente ha funzionato per me. Produce una copertura del codice statistiche di base nella pagina dei risultati di inizio per una build, con un collegamento a un report dettagliato con tutto.

Dato che nomino i miei progetti di unit test lo stesso come il progetto mette alla prova, solo con un suffisso .Tests, ho escluso quelli della copertura del codice. Inoltre, ho dovuto specificamente includere solo le mie assemblee (che iniziano tutti con LVK.) Altrimenti avrei ottenere alcuni assembly caricati dal corridore TeamCity, che un po 'influenzato le mie statistiche di copertura.

In primo luogo, ho installato ultimo degli strumenti (a partire da questa modifica):

  • NCover 3.4.8
  • TeamCity 5.1.2
  • NUnit 2.5.5

La configurazione sul accumulo schermo in TeamCity è allora la seguente:

  • Obiettivi: Ricostruire
  • Configurazione: Debug
  • Piattaforma: Qualsiasi CPU
  • .NET Copertura Strumento: NCover (3.x)
  • .NET Runtime: .NET Framework 4.0, Versione: Native
  • Percorso NCover 3:% system.ncover.v3.x64.path% (questo è Windows 2008 Server R2 a 64 bit)
  • Ulteriori Argomenti NCover:

    //ias LVK.*
    //eas .*Tests
    //eas LVK\.CodeQuality
    //ea LVK\.CodeQuality\.IgnoreCodeCoverageAttribute
    
  • Ulteriori NCover reporting Argomenti:

    //or FullCoverageReport:Html:{teamcity.report.path}
    
  • NUnit Runner: NUnit 2.5.5

  • Runtime .NET Platform: auto (MSIL), Versione: 4.0
  • le prove eseguite con: ** \ bin \ Debug * Tests.dll
È stato utile?

Soluzione

Per quanto ne so, NCover non è in grado di coprire le prove per NET 4.0. Hanno annunciato una nuova versione per .NET 4.0, ma non c'è ancora.

Trova informazioni su questo argomento qui . Personalmente non ho alcuna esperienza con questo compito ...

Aggiorna : Hanno pubblicato NCover 3.4 con NET supporto 4.0. Forse si fare un tentativo.

Altri suggerimenti

ho trovato la risposta da questa discussione: NUnit non è in esecuzione codice di Visual Studio 2010

Per il file NUnit-console-x86.exe.config, sotto <configuration> add:

<startup>
  <requiredRuntime version="v4.0.30319" />
</startup>

Sotto <runtime> add

<loadFromRemoteSources enabled="true" />

fisso per me. Sto usando TeamCity non FinalBuilder però.

Sono anche utilizzando NCover 3.4.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top