【问题标题】:How can I change the unit tests that are run for a particular build configuration?如何更改为特定构建配置运行的单元测试?
【发布时间】:2009-12-10 01:37:08
【问题描述】:

我们有一个包含大量项目的 Visual Studio 2008 解决方案。对于当前的产品,只有其中一些项目正在使用。

我们已经为该产品创建了构建配置,因此我们不必构建解决方案中的每个项目。

我希望能够轻松运行与此构建相关的所有单元测试。对于我们目前不关心的项目,有大量的测试。因为这些项目不在构建中,所以它们不会被编译,因此我们无法测试它们。

有没有更简单的方法来定义应该运行哪些测试,而不是从测试视图中挑选它们?

【问题讨论】:

    标签: visual-studio-2008 unit-testing configuration tfs


    【解决方案1】:

    使用 *.csproj 文件,在文本编辑器中打开它,然后添加您自己的 MSBuild 任务以在 AfterBuild 目标中运行单元测试。比如:

    <Target Name="AfterBuild">
       <Exec Command="mstest.exe /detail:errormessage /detail:errorstacktrace /runconfig:$(TestRunConfig) /testcontainer:[relative path to your test assembly DLL] /resultsfile:UnitTestResults.trx" />
    </Target>
    

    【讨论】:

      【解决方案2】:

      您可以创建一些仅编译特定项目的 msbuild 脚本,并且您可以为每个场景创建一个脚本。

      例如。

      对于 2 个 C# 项目 A 和 B,以及 2 个测试 AT 和 BT:

      <if condition="$(BuildA)"> <!-- If Building Project A -->
      <csc ... "A" /> <!-- Build A project -->
      </if>
      
      <if condition="$(BuildA)"> <!-- If Building Project A -->
      <csc ... "AT" /> <!-- Build AT project -->
      <exec "AT" ... /> <!-- Run AT tests -->
      </if>
      

      然后运行已构建的测试。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-07-18
        • 2011-04-03
        • 1970-01-01
        • 1970-01-01
        • 2019-07-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多