Sonar, Sonar-runner, Gallio и NCover Gallio не запускаются :(

Есть ли кто-нибудь, кому действительно удалось заставить sonar-runner работать с Gallio и Ncover? Я пробовал все комбинации в книге, и во время бега она продолжает говорить мне

«INFO s.p.c.g.GallioSensor — Gallio не будет выполняться, так как нет тестовых проектов».

если запускаю все по отдельности (NCover, Gallio) выдают результаты, только не с Sonar-runner

пожалуйста помоги!!!

вот как выглядит мой конфиг кстати (файл sonar-project.properties)

# Project identification
sonar.projectKey=DMG:PilotCompletePackageSolution
sonar.projectVersion=4.0.0  
sonar.projectName=Pilot Filepointer

# Info required for Sonar  
sources=.  
sonar.language=cs  

#Core C# Settings  
sonar.dotnet.visualstudio.solution.file=FilePointer.sln  

#Gendarme  
sonar.gendarme.assemblies=\build\\DmgTech*.*  
sonar.gendarme.mode= 

# Gallio  
sonar.gallio.mode=
sonar.gallio.reports.path=bin/
sonar.gallio.installDirectory=C:/program files (x86)/gallio
sonar.gallio.coverage.tool=NCover
sonar.donet.visualstudio.testProjectPattern=*test*
sonar.donet.visualstudio.testProjectPattern=*Test*
sonar.donet.visualstudio.testProjectPattern=*Tests
sonar.donet.visualstudio.testProjectPattern=*UnitTest*  
sonar.NCover.installDirectory=c:/Program Files(x86)/NCover

# FXCop  
sonar.fxcop.mode=  

#StyleCop  
sonar.stylecop.mode=

#NDeps
sonar.ndeps.mode=

Обновить

это покрытие, созданное гидролокатором:

<?xml version="1.0" encoding="utf-8"?>
<!-- saved from NCover 3.0 Export url='http://www.ncover.com/' -->
<coverage profilerVersion="3.4.18.6937" driverVersion="3.4.18.6937" exportversion="3" viewdisplayname="" startTime="2012-05-11T08:07:34.8625409Z" measureTime="2012-05-11T08:07:40.7988805Z" projectName="New Project" buildid="734ad123-bd97-46c4-acfe-2ad0386b4d6a" coveragenodeid="0" failed="false" satisfactorybranchthreshold="95" satisfactorycoveragethreshold="95" satisfactorycyclomaticcomplexitythreshold="20" satisfactoryfunctionthreshold="80" satisfactoryunvisitedsequencepoints="10" uiviewtype="TreeView" viewguid="New Project" 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>

и это ручное покрытие:

<?xml version="1.0" encoding="utf-8"?>
<!-- saved from NCover 3.0 Export url='http://www.ncover.com/' -->
<coverage profilerVersion="3.4.18.6937" driverVersion="3.4.18.6937" exportversion="3" viewdisplayname="" startTime="2012-05-10T06:06:29.2440585Z" measureTime="2012-05-10T06:06:31.6464627Z" projectName="New Project" buildid="2c2073a0-18a6-4976-8858-c16755d1d1ff" coveragenodeid="0" failed="false" satisfactorybranchthreshold="95" satisfactorycoveragethreshold="95" satisfactorycyclomaticcomplexitythreshold="20" satisfactoryfunctionthreshold="80" satisfactoryunvisitedsequencepoints="10" uiviewtype="TreeView" viewguid="New Project" viewfilterstyle="None" viewreportstyle="SequencePointCoveragePercentage" viewsortstyle="Name">
  <rebasedpaths />
  <filters />
  <documents>
    <doc id="1" excluded="false" url="C:\tfsdata\FilePointer\UITest\UnitTest.cs" cs="81FA01B2B109478673AC792E586754E5" csa="406ea660-64cf-4c82-b6f0-42d48172a799" om="1" nid="0" />
    <doc id="0" excluded="false" url="None" cs="" csa="00000000-0000-0000-0000-000000000000" om="0" nid="0" />
  </documents>
  <module moduleId="1" name="C:\tfsdata\FilePointer\bin\UITest.dll" assembly="UITest" assemblyIdentity="UITest, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null, processorArchitecture=x86" nid="0">
    <class name="UITest.UnitTest" signature="UITest.UnitTest" excluded="false" nid="0">
      <method name=".ctor" signature=".ctor() : void" excluded="false" instrumented="true" cc="1" vc="1" nid="0">
        <seqpnt vc="1" o="0" l="16" el="16" c="9" ec="26" ex="false" fl="65536" doc="1" nid="0" />
        <seqpnt vc="1" o="8" l="21" el="21" c="9" ec="10" ex="false" fl="65536" doc="1" nid="0" />
        <seqpnt vc="1" o="9" l="0" el="0" c="0" ec="0" ex="false" fl="131072" doc="1" nid="0" />
      </method>
      <method name="get_TestContext" signature="get_TestContext() : Microsoft.VisualStudio.TestTools.UnitTesting.TestContext" excluded="false" instrumented="false" cc="1" vc="0" nid="0">
        <seqpnt vc="0" o="1" l="33" el="33" c="17" ec="44" ex="false" fl="65536" doc="1" nid="0" />
        <seqpnt vc="0" o="A" l="34" el="34" c="13" ec="14" ex="false" fl="65536" doc="1" nid="0" />
        <seqpnt vc="0" o="B" l="0" el="0" c="0" ec="0" ex="false" fl="131072" doc="1" nid="0" />
      </method>
      <method name="set_TestContext" signature="set_TestContext(Microsoft.VisualStudio.TestTools.UnitTesting.TestContext value) : void" excluded="false" instrumented="false" cc="1" vc="0" nid="0">
        <seqpnt vc="0" o="1" l="37" el="37" c="17" ec="45" ex="false" fl="65536" doc="1" nid="0" />
        <seqpnt vc="0" o="8" l="0" el="0" c="0" ec="0" ex="false" fl="131072" doc="1" nid="0" />
        <seqpnt vc="0" o="8" l="38" el="38" c="13" ec="14" ex="false" fl="65536" doc="1" nid="0" />
      </method>
      <method name="TestMethod1" signature="TestMethod1() : void" excluded="false" instrumented="true" cc="1" vc="1" nid="0">
        <seqpnt vc="1" o="1" l="0" el="0" c="0" ec="0" ex="false" fl="131072" doc="1" nid="0" />
        <seqpnt vc="1" o="1" l="69" el="69" c="9" ec="10" ex="false" fl="65536" doc="1" nid="0" />
      </method>
    </class>
  </module>
</coverage>

person Mike    schedule 09.05.2012    source источник


Ответы (1)


Sonar хорошо работает с Gallio + NCover, вам просто нужно почистить файл sonar-project.properties, так как некоторые параметры установлены неправильно (см. http://docs.codehaus.org/display/SONAR/sonar-csharp-gallio-plugin)

  • у вас должно быть только одно свойство "sonar.donet.visualstudio.testProjectPattern" (должно быть что-то вроде "sonar.donet.visualstudio.testProjectPattern=Test"). Плагин не поддерживает более одного.
  • значение "sonar.gendarme.assemblies" мне кажется странным: надо его пока убрать
person Fabrice - SonarSource Team    schedule 10.05.2012
comment
какие файлы ищет Gallio, когда он запускается из sonar-runner? это файлы проекта VS или файлы .cs, верно? - person Mike; 11.05.2012
comment
Оба используются для определения того, что должны делать подключаемые модули C#. - person Fabrice - SonarSource Team; 11.05.2012
comment
Хорошо, я добавил шаблон более радикально , ​​одну строку и получил шаблон est , который, кажется, работает, так что теперь на один шаг ближе. но ... теперь файлcover.xml пуст :-( ... очень странно, потому что при запуске всего через графический интерфейс он создается хорошо. Есть какие-нибудь советы по этому поводу? Кстати, есть ли случайно какая-либо ХОРОШАЯ документация, которая описывает все элементы, работающие вместе? - person Mike; 11.05.2012
comment
Вы можете предоставить документацию обратно в проект, если считаете, что она недостаточно хороша, это проект с открытым исходным кодом. Что касается того, что файл покрытия пуст, это может означать, что тесты не были успешно выполнены, не так ли? - person Fabrice - SonarSource Team; 11.05.2012
comment
они выполнились успешно (так указано прогон и приборная панель сонара) - person Mike; 11.05.2012
comment
это покрытие гидролокатора: - person Mike; 11.05.2012
comment
я добавил это в исходный пост - person Mike; 11.05.2012
comment
docs.codehaus.org/display/SONAR/Advanced+parameters должен содержать список все доступные перестановки сонара.*.reportsPath - person oers; 11.05.2012
comment
Майк, на всякий случай: можешь взять наш примерный проект (svn.codehaus.org/sonar-plugins/trunk/dotnet/tools/), добавьте только sonar.gallio.coverage.tool=NCover и sonar.NCover. installDirectory=c:/Program Files(x86)/NCover в файл свойств вашего проекта и запустите Sonar, пожалуйста? Это должно сработать (и, надеюсь, вы могли видеть, что происходит на вашей стороне). - person Fabrice - SonarSource Team; 11.05.2012
comment
Фабрис: пример проекта сработал, я попытался минимизировать файл свойств до того же уровня, что и в примере приложения, и все равно не повезло: файл покрытия остается пустым.... и у меня должно быть не менее 1,3% в сонаре. (Государственные испытания сонар проходят на 100% успешно) - person Mike; 11.05.2012
comment
Если вы можете воспроизвести его в образце приложения, то лучше всего отправить письмо в список рассылки пользователей Sonar, и я буду там, чтобы получить ваш пример приложения и попытаться увидеть, что происходит. - person Fabrice - SonarSource Team; 12.05.2012