TeamCity и MSpec с бегуном sln2008?

В настоящее время я использую бегун sln2008. Есть ли способ настроить TeamCity для выполнения тестов MSpec без переключения на средство запуска NAnt или MSBuild?


person Bob Banks    schedule 19.10.2009    source источник


Ответы (2)


Я никогда этого не делал, но вы, вероятно, могли бы добавить задачу Exec после сборки, которая только что была запущена в mspec.exe. Просто добавьте код из моего ответа, указанного выше (Как интегрировать MSpec с MS Build ?) в ваших спецификациях csproj и добавьте DependsOnTargets="RunSpecs" в вашу цель AfterBuild:

  <Target Name="RunSpecs">
    <PropertyGroup>
      <MSpecCommand>
        lib\machine\specifications\Machine.Specifications.ConsoleRunner.exe $(AdditionalSettings) path\to\your\project\bin\Debug\Your.Project.Specs.dll path\to\your\other\project\bin\Debug\Your.Other.Project.dll 
      </MSpecCommand>
    </PropertyGroup>
    <Message Importance="high" Text="Running Specs with this command: $(MSpecCommand)"/>
    <Exec Command="$(MSpecCommand)" />
  </Target>
  <Target Name="AfterBuild" DependsOnTargets="RunSpecs">
  </Target>
person Aaron Jensen    schedule 22.12.2009
comment
Интересный. Я не думал об этом. Спасибо Аарон! Я попробую. - person Bob Banks; 23.12.2009
comment
Нет проблем, дайте мне знать, если это сработает. Тем не менее, если у вас нет очень веской причины придерживаться sln2008 runner, я бы отбросил эту цель и использовал msbuild или rake (я намного предпочитаю rake). - person Aaron Jensen; 27.12.2009
comment
В чем преимущество использования msbuild или rake, а не бегуна sln2008? - person DavidS; 06.04.2011
comment
@DavidS просто гибкость, которую он дает вам, и то, насколько легко заставить сборку делать именно то, что вы хотите. Вышеупомянутый фрагмент, о котором я догадался, будет всего несколькими строками в грабли. Для msbuild просто приятно иметь корневой msbuild, чтобы вы могли прикреплять глобальные задачи ко всему репозиторию (например, генерировать AssemblyInfo.cs перед любой сборкой csproj). Я бы все же предпочел грабли. - person Aaron Jensen; 27.04.2011

Вы можете использовать msbuild runner. См. Как интегрировать MSpec с MS Build? для описания того, как для интеграции msbuild и mspec

person Eugene Petrenko    schedule 19.10.2009
comment
Спасибо Евгений. Я тоже наткнулся на этот ответ. Я надеялся сделать это с помощью бегуна sln2008. - person Bob Banks; 19.10.2009