使用 .runsettings 文件配置单元测试

使用 .runsettings 文件,单元在 Visual Studio 2012 测试可以配置。 例如,您可以更改测试将运行,内容的 .NET framework 测试结果交付的位置,因此,数据收集在测试运行过程。

备注

.runsettings 和 .testsettings

.runsettings 是新在 Visual Studio 2012。如果熟悉单元测试在 Visual Studio 的早期版本,则可能知道 .testsettings 文件。在 Visual Studio 仍可以使用名为 .testsettings 2012 中,因此,任何测试对以前版本编写要处理的配置。但 .testsettings 只用来配置测试编写针对 MSTest 适配器。相反,.runsettings 可用于编译的任何适配器为可扩展单元测试在 Visual Studio 中 framework 2012 中,例如 xUnit。net 和 NUnit。

测试使用名为 .testsettings 文件的速度可能比使用运行测试 .runsettings 文件,或为其没有配置文件。

您仍需要的文件名为 .testsettings 测试:

  • 测试在实验室环境部署。

  • Web 性能测试和负载测试。

  • 自定义诊断数据适配器的某些类型,如 IntelliTrace 和事件日志。

有关 .testsettings 的更多信息,请参见 指定 Visual Studio 测试的测试设置

自定义测试与 .runsettings 文件

  1. 添加 XML 文件添加到您的 Visual Studio 解决方案并将其重命名为,使其文件扩展名为 .runsettings。

  2. 在 示例替换文件内容。

    编辑到您的需要。

  3. 测试 菜单中,选择 测试设置选择测试设置文件

使用 测试设置 菜单,可以在解决方案中创建多个 .runsettings 文件,并启用或禁用它们在不同时间。

启用运行设置文件

复制此示例 .runsettings 文件

这是典型的 .runsettings 文件。 因为每个值都有一个默认值,文件中的每个元素是可选的。

<?xml version="1.0" encoding="utf-8"?>
<RunSettings>
  <!-- Configurations that affect the Test Framework -->
  <RunConfiguration>
    <!-- Path relative to solution directory -->
    <ResultsDirectory>.\TestResults</ResultsDirectory>

    <!-- [x86] | x64  
      - You can also change it from menu Test, Test Settings, Default Processor Architecture -->
    <TargetPlatform>x86</TargetPlatform>

    <!-- Framework35 | [Framework40] | Framework45 -->
    <TargetFrameworkVersion>Framework40</TargetFrameworkVersion>
  </RunConfiguration>
  
  <!-- Configurations for data collectors -->
  <DataCollectionRunSettings>
    <DataCollectors>
      <DataCollector friendlyName="Code Coverage" uri="datacollector://Microsoft/CodeCoverage/2.0" assemblyQualifiedName="Microsoft.VisualStudio.Coverage.DynamicCoverageDataCollector, Microsoft.VisualStudio.TraceCollector, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
        <Configuration>
          <CodeCoverage>
            <ModulePaths>
              <Exclude>
                <ModulePath>.*CPPUnitTestFramework.*</ModulePath>
              </Exclude>
            </ModulePaths>
          </CodeCoverage>
        </Configuration>
      </DataCollector>
      
    </DataCollectors>
  </DataCollectionRunSettings>
  
  <!-- Adapter Specific sections -->
  
  <!-- MSTest adapter -->
  <MSTest>
    <MapInconclusiveToFailed>True</MapInconclusiveToFailed>
    <CaptureTraceOutput>false</CaptureTraceOutput>
    <DeleteDeploymentDirectoryAfterTestRunIsComplete>False</DeleteDeploymentDirectoryAfterTestRunIsComplete>
    <DeploymentEnabled>False</DeploymentEnabled>
  </MSTest>
  
  
</RunSettings>

本主题其余部分描述文件内容。

编辑您的 .runsettings 文件

.runsettings 文件具有以下元素。

JJ635153.collapse_all(zh-cn,VS.110).gif测试运行配置

节点

默认

ResultsDirectory

测试结果将放置的内容。

TargetFrameworkVersion

Framework40

Framework35,Framework40,Framework45

这指定单元测试的版本测试框架使用查看,并执行测试。 它可能与您在单元测试生成属性指定测试项目的 .NET 平台不同版本。

TargetPlatform

x86

x86,x64

TreatTestAdapterErrorsAsWarnings

false

错误,true

JJ635153.collapse_all(zh-cn,VS.110).gif诊断数据适配器 (数据收集器)

DataCollectors 元素指定诊断数据适配器设置。 诊断数据适配器来收集有关环境的其他信息,并受测应用程序。 每个适配器具有默认设置,因此,您必须只提供设置,如果您不想使用默认值。

JJ635153.collapse_all(zh-cn,VS.110).gif代码复盖率适配器

代码复盖率数据收集器创建应用程序代码节放在测试已执行的记录。 有关自定义代码复盖率设置的更多信息,请参见 自定义代码覆盖率分析

JJ635153.collapse_all(zh-cn,VS.110).gif其他诊断数据适配器

代码复盖率适配器是当前使用的运行设置文件,可以自定义的唯一适配器。

若要自定义任何其他类型的诊断数据适配器,必须使用测试设置文件。 有关更多信息,请参见指定 Visual Studio 测试的测试设置

JJ635153.collapse_all(zh-cn,VS.110).gifMSTest 运行设置

这些设置特定于运行测试方法具有 [TestMethod] 属性的测试适配器。

配置

默认

ForcedLegacyMode

false

在 Visual Studio 2012 中,MSTest 适配器优化可更快且可伸缩。 某些行为,如的顺序测试运行,可能无法正确为,在 Visual Studio 的以前版本。 将此值 true 使用旧测试适配器。

例如,在中,如果为单位指定的一个 app.config 文件运行测试,则可以使用此。

建议您考虑重构测试允许您使用较新的适配器。

IgnoreTestImpact

false

测试影响功能优先级测试受最近更改的影响,运行时,在 MSTest 或从 Microsoft 测试管理器。 此设置停用该功能。 有关更多信息,请参见如何:收集数据来检查在代码更改后应该运行的测试

SettingsFile

可以指定测试设置文件使用 MS 测试适配器示。 使用菜单 测试测试设置选择测试设置文件,还可以指定测试设置文件。

如果指定此值,ForcedlegacyMode 自动设置为 true。

KeepExecutorAliveAfterLegacyRun

false

在测试运行完成后,MSTest 关闭。 会作为测试的一部分此时还将杀害的任何进程。 如果要使测试执行器运行,启用此配置为 true。

例如,可以使用此继续浏览器中运行编码的 UI 测试之间。

DeploymentEnabled

true

如果将此为 false,则在您指定的部署项测试方法不会复制到部署目录中。

CaptureTraceOutput

true

使用 Trace.WriteLine,可以写入从您的调试跟踪测试方法。 使用此配置,可以关闭这些调试跟踪。

DeleteDeploymentDirectoryAfterTestRunIsComplete

true

可以在测试设置中后保留部署目录此值来为错误。

MapInconclusiveToFailed

false

如果测试返回以无结论的状态,它通常映射到跳过测试的状态资源管理器。 如果希望无结论的测试显示为未通过,请使用此配置。

InProcMode

false

如果在同一希望测试进程中运行,当 MS 测试适配器,请将该值设置为 true。 此设置将提供相对小性能提升。 但是,如果测试退出具有异常,其他测试不会继续。

请参见

概念

自定义代码覆盖率分析

其他资源

指定 Visual Studio 测试的测试设置