Unit-Tests und Code-Coverage werden, die zeigen, wie 0% von Sonar
Ich versuche, unit testing und code coverage für C# - Projekt. Ich bin mit sonar runner wie der Analysator, Gallio 3.4.14 OpenCover4.5.1
Dies ist das sonar-Projekt.Eigenschaften Datei:
sonar.projectKey=Foo
sonar.projectName=Foo-SonarQube Runner
sonar.projectVersion=1.0
# Path to the source directories (required)
sonar.sources=.
sonar.language=cs
sonar.sourceEncoding=UTF-8
sonar.dotnet.visualstudio.solution.file=Foo.sln
sonar.silverlight.4.mscorlib.location=C:\Program Files (x86)\Reference Assemblies
\Microsoft\Framework\Silverlight\v5.0
sonar.dotnet.excludeGeneratedCode=true
sonar.dotnet.4.0.sdk.directory=C:/WIndows/Microsoft.NET/Framework/v4.0.30319
sonar.dotnet.version=4.0
sonar.gallio.runner=IsolatedProcess
sonar.gallio.coverage.tool=OpenCover
sonar.donet.visualstudio.testProjectPattern=**.Tests; **.UnitTests
sonar.opencover.installDirectory=C:/Program Files (x86)/OpenCover
sonar.dotnet.test.assemblies=FooUnitTests\bin\Release\FooUnitTests.dll
Erfolgreich ausgeführt, aber in den logs sehe ich, dass Gallio nicht ausführen:
No assembly to check with Gendarme
Skipping the non generated assembly of project : Foo
No assembly to check with NDeps
Gallio won't execute as there are no test projects.
Jede Hilfe wird dankbar sein
InformationsquelleAutor User | 2013-11-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
Überprüfen Sie Ihre test-Projekt Muster:
sonar.donet.visualstudio.testProjectPattern=**.Tests; **.UnitTests
Versuchen Sie dies:
sonar.donet.visualstudio.testProjectPattern=*Tests;*UnitTests
Auch, in Richtung der Oberseite des sonar-runner-Ausgabe (innerhalb der ersten 20 Zeilen), sollten Sie einige Zeilen wie diese:
Wenn Sie nicht sehen, diese, versuchen Sie es mit sonar-runner mit
-X
zum aktivieren der debugging-Ausgabe. Dies sollte Ihnen mehr Informationen, welche Muster werden verwendet, um test-Projekte.Zusätzlich alle Pfade müssen Schrägstriche (
/
), so dass die folgenden geändert werden müssen::
Obwohl es scheint, dass sonar-runner gefunden, die sln-Datei, die Gallio nicht ausführen. Ja für die testProjectPattern habe ich ein * aber wenn ich geschrieben * nicht zu erscheinen. Ich Frage mich, ob es erforderlich ist, erstellen Sie den Pfad für die coverage und unit-Tests Berichte : # Pfad zu den Integrationstests Durchführung Bericht sonar.gallio.it.reports.path=reports/it-gallio-report.xml # Pfad zu den code-coverage-Bericht sonar.gallio.it.coverage.reports.path=reports/it-coverage-report.xml ich habe die \ es ist jedoch immer noch geben die gleichen Ergebnisse.
Der Bericht Pfade sind nur erforderlich, wenn Sie 'reuseReport" - Modus, was ich davon ausgehen, Sie nicht verwenden. Versuchen Sie, den Punkt (.) von Ihren mustern, so dass es nur '* - Tests". Für Muster-syntax finden Sie unter: docs.codehaus.org/plugins/servlet/...
ok also jetzt bekomme ich die Abdeckung, da kann ich sehen, dass die Berichterstattung hat begonnen zu Holen, denke ich. 10:51:45.740 INFO - Sensor org.sonar.plugins.csharp.gallio.CoverageReportSensor@72fdeacb... 10:51:45.756 INFO - (Abgesicherter Modus) Analysieren Gallio es coverage reports: 10:51:45.756 INFO - Sensor org.sonar.plugins.csharp.gallio.CoverageReportSensor@72fdeacb getan: 16
Und nun muss ich mich isolieren, die das Problem für unit-tests 10:39:08.557 INFO - Test-assembly nicht gefunden mit Muster FooUnitTests/bin/Release/FooUnitTests.dll, Alternative zu visual s tudio Standard assembly Position 10:39:08.557 WARNEN - Test-assembly nicht gefunden am folgenden Speicherort: C:\TeamCity\FooU nitTests\bin\Debug\FooUnitTests.dll anhand der folgenden Konfiguration: - csproj-Datei: C:\TeamCity\FooUnitTests\FooUnitTests.csproj
InformationsquelleAutor John M. Wright