【问题标题】:TeamCity & MSpec with sln2008 runner?TeamCity 和 MSpec 与 sln2008 亚军?
【发布时间】:2009-10-19 03:52:02
【问题描述】:

我目前正在使用 sln2008 跑步者。有没有办法配置 TeamCity 以执行 MSpec 测试,而无需切换到 NAnt 或 MSBuild 运行器?

【问题讨论】:

    标签: teamcity mspec


    【解决方案1】:

    我从来没有这样做过,但您可能会添加一个构建后的 Exec 任务,该任务刚刚被发送到 mspec.exe。只需将我的答案中的代码(How to integrate MSpec with 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>
    

    【讨论】:

    • 有趣。我没有想到这一点。谢谢亚伦!我试试看。
    • 没问题,如果解决了请告诉我。也就是说,除非您有充分的理由坚持使用 sln2008 跑步者,否则我会放弃该目标并使用 msbuild 或 rake(我非常更喜欢 rake)。
    • 使用 msbuild 或 rake 而不是 sln2008 runner 有什么好处?
    • @DavidS 只是它为您提供的灵活性以及让构建完全按照您想要的方式是多么容易。我猜上面的 sn-p 只会是 rake 中的几行。对于 msbuild,最好有一个根 msbuild,这样您就可以将全局任务附加到整个存储库(例如在任何 csproj 构建之前生成一个 AssemblyInfo.cs)。我还是更喜欢耙子。
    【解决方案2】:

    您可以使用 msbuild runner。关于如何集成 msbuild 和 mspec 的说明请参见How to integrate MSpec with MS Build?

    【讨论】:

    • 谢谢尤金。我也遇到了这个答案。我希望使用 sln2008 跑步者来做到这一点。
    猜你喜欢
    • 2016-01-10
    • 1970-01-01
    • 2016-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-05
    • 2016-11-24
    • 1970-01-01
    相关资源
    最近更新 更多