2016-01-24 1 views
1

J'essaye de créer une construction MSBuild pour produire un rapport dotCover.html à télécharger sur SonarQube. Cependant, les erreurs dotCover disparaissent même si tous les tests unitaires réussissent. Je ne sais pas où aller à partir d'ici.xUnit dotCover erreur msBuild

MsBuild fichier

<ItemGroup> 
    <TestAssemblies Include="**\bin\Release\*.tests.dll" /> 
    </ItemGroup> 
    <PropertyGroup> 
    <dlls>@(TestAssemblies, ' ')</dlls> 
    </PropertyGroup> 
    //Some other targets 
    <Target Name="DotCover"> 
    <Exec Command='"%LOCALAPPDATA%\JetBrains\Installations\dotCover04\dotCover.exe" analyse /ReportType=HTML /Output="dotCover.html" /TargetWorkingDir=. /TargetExecutable:"packages\xunit.runner.console.2.1.0\tools\xunit.console.exe" /TargetArguments="$(dlls) -noshadow" /LogFile' /> 
    </Target> 

erreur dans le fichier journal dotCover

15: 17: 29,682 | I | IteratorsProcessor | Impossible de trouver la méthode correspondante pour la classe d'itérateur Xunit.Sdk.XunitTestAssemblyRunner + d__14 Extrait contenant le nom de la méthode: RunTestCollectionsAsync Candidats nombre: 0 Méthodes du type parent: .ctor; Disposer; GetTestFrameworkDisplayName; GetTestFrameworkEnvironment; SetupSyncContext; Initialiser; AfterTestAssemblyStartingAsync; BeforeTestAssemblyFinishedAsync; RunTestCollectionsAsync; RunTestCollectionAsync; SetSynchronizationContext; <> n__0 15: 17: 29.703 | I | IteratorsProcessor | Impossible de trouver la méthode correspondante pour itérateur classe Xunit.Assert + d__56`1 Extrait contenant nom de la méthode: ThrowsAsync Nombre de candidats: 0 Méthodes du type parent: .ctor; Équivaut à; ReferenceEquals; Faux; Faux; Faux; Faux; Vrai; True; Vrai; Vrai; Tout; Collection; Contient Contient Contient DoesNotContain; Ne contient pas; Ne contient pas; Vide; Égal; Égal; NotEmpty; Inégal; Inégal; Unique; Unique; Unique; Unique; GetComparer; GetEqualityComparer; Égal; Égal; Égal; Égal; StrictEqual; Inégal; Inégal; Inégal; Inégal; NotStrictEqual; Jette; Jette; Jette; ThrowsAsync; ThrowsAny; ThrowsAny; ThrowsAnyAsync; Jette; Jette; ThrowsAsync; Jette; ThrowsAny; Jette; Jette; Jette; ThrowsAsync; GuardArgumentNotNull; RecordException; RecordException; RecordException; RecordExceptionAsync; Pas pareil; Même; NotNull; Nul; PropertyChanged; InRange; Dans la gamme; Pas à portée; Pas à portée; ProperSubset; ProperSuperset; Sous-ensemble; Superset Contient Contient Ne contient pas; DoesNotContain; Commence avec; Commence avec; Se termine par; Se termine par; Allumettes; Matches; Ne correspond pas; Ne correspond pas; Égal; Égal; IsLineEnding; IsWhiteSpace; SkipLineEnding; SkipWhitespace; IsAssignableFrom; IsAssignableFrom; IsNotType; IsNotType; IsType; IsType

Toute aide serait grandement appréciée. Je vous remercie.

+1

Pouvez-vous vérifier que les pdb sont également affichés dans votre répertoire de test pendant msbuild? –

+0

@Jonathon Chase Le répertoire de test est-il le dossier de travail ou l'emplacement des fichiers .dll?De toute façon, la réponse est probablement non, car j'utilise la version release. – Tony

Répondre

1

DotCover ne peut pas traiter les informations par rapport aux assemblages sans avoir à utiliser PDB. Vous pouvez définir les PDB à utiliser en ajoutant <DebugType>pdbonly</DebugType> sous la configuration utilisée pour vos générations ou en ajoutant le commutateur /debug:pdbonly à la ligne de compilation de votre projet. Vous pouvez les définir via les propriétés du projet dans le panneau de construction, via la section des options avancées ou en modifiant manuellement le csproj. Si l'option PDB n'est pas optimale, vous pouvez définir une condition de publication après exécution pour les nettoyer.

+0

Merci pour votre aide. Ceci couplé avec le fait que j'avais un vieux projet MSTest également chargé était pourquoi il ne fonctionnait pas. Merci - très apprécié. – Tony