Configurando testes de unidade usando um arquivo .runsettings

Os testes de unidade no Visual Studio 2012 podem ser configurados usando um arquivo de .runsettings.Por exemplo, você pode alterar o .NET Framework em que os testes serão executados, o diretório onde os resultados do teste são enviados, e os dados coletados durante um ensaio.

ObservaçãoObservação

.runsettings e .testsettings

.runsettings há de novo no Visual Studio 2012.Se você estiver familiarizado com os testes de unidade em versões anteriores do Visual Studio, você pode aprender sobre arquivos de .testsettings.Você ainda pode usar .testsettings no Visual Studio 2012, o que todas as configurações de teste que você escreve para edições mais antigas ainda funcionarão.Mas .testsettings pode ser usado para configurar apenas os testes escritos para o adaptador de MSTest.Por outro lado, .runsettings pode ser usado com alguns dos adaptadores compilados para a estrutura extensível de testes de unidade no Visual Studio 2012, como o xUnit.rede e NUnit.

Os testes usando arquivos de .testsettings podem executar mais lentamente de testes usando arquivos de .runsettings, ou para o qual não há arquivo de configuração de qualquer.

Você ainda precisa um arquivo de .testsettings para alguns tipos de teste:

  • Teste que são implantados em um ambiente de laboratório.

  • Desempenho da Web e teste de carregamento.

  • Personalizando alguns tipos de diagnóstico adaptadores de dados, como IntelliTrace e log de eventos.

Para obter mais informações sobre a .testsettings, consulte Especificando configurações de teste do Visual Studio.

Personalizando testando com um arquivo de .runsettings

  1. Adicionar um arquivo XML para sua solução do Visual Studio e renomeá-lo de modo que a extensão de arquivo é .runsettings.

  2. Substitua o conteúdo do arquivo com exemplo.

    Edite às suas necessidades.

  3. No menu de Testar , escolha Configurações de Teste, Configurações específicas Arquivo de teste.

Você pode criar mais de um arquivo de .runsettings em sua solução, e habilita ou desabilitar-l em momentos diferentes usando o menu de Configurações de Teste .

Permitindo que um arquivo de configurações de execução

Copie este exemplo arquivo .runsettings

Aqui está um arquivo comum de .runsettings.Cada elemento do arquivo é opcional, porque cada valor possui uma opção.

<?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>

O restante deste tópico descreve o conteúdo do arquivo.

Editar o arquivo de .runsettings

O arquivo de .runsettings possui os seguintes elementos.

JJ635153.collapse_all(pt-br,VS.110).gifConfiguração de ensaio

Node

Padrão

Valores

ResultsDirectory

O diretório onde os resultados do teste serão colocados.

TargetFrameworkVersion

Framework40

Framework35, Framework40, Framework45

Isso especifica que versão do framework de testes de unidade é usada para descobrir e executar testes.Pode ser diferente da versão da plataforma do .NET que você especificar nas propriedades de compilação do projeto de teste de unidade.

TargetPlatform

x

x86, x64

TreatTestAdapterErrorsAsWarnings

false

false, verdadeiro

JJ635153.collapse_all(pt-br,VS.110).gifAdaptadores de dados diagnóstico (coletores de dados)

O elemento de DataCollectors especifica configurações de adaptadores de dados diagnóstico.Os adaptadores de dados diagnóstico são usados para coletar informações adicionais sobre o ambiente e o aplicativo no teste.Cada adaptador tem configurações padrão, e você só precisará fornecer configurações se você não desejar usar as opções.

JJ635153.collapse_all(pt-br,VS.110).gifAdaptador de tinta de código

O coletor de dados de tinta de código a seguir cria um log de que as partes do código do aplicativo tiverem sido exercitadas em teste.Para obter mais informações sobre para personalizar as configurações para a tinta de código, consulte Personalizando análise de cobertura de código.

JJ635153.collapse_all(pt-br,VS.110).gifOutros adaptadores de dados diagnóstico

O adaptador de tinta de código é atualmente o único adaptador que pode ser personalizada usando o arquivo de configurações de execução.

Para personalizar qualquer outro tipo de adaptador de dados diagnóstico, você deve usar um arquivo de configurações de teste.Para obter mais informações, consulte Especificando configurações de teste do Visual Studio.

JJ635153.collapse_all(pt-br,VS.110).gifConfigurações de execução de MSTest

Essas configurações são específicas para o adaptador de teste que executa os métodos de teste que têm o atributo de [TestMethod] .

Configuração

Padrão

Valores

ForcedLegacyMode

false

No Visual Studio 2012, o adaptador de MSTest foi otimizado para torná-lo mais rápido e mais escalonável.Alguns comportamento, como a ordem em que os testes são executados, não pode ser exatamente como estava em edições anteriores do Visual Studio.Definir esse valor true para usar o adaptador mais antigo de teste.

Por exemplo, você pode usar esse se você tiver um arquivo app.config especificado para um teste de unidade.

Recomendamos que você consulte refatoração seus testes para permitir que você use o adaptador mais recente.

IgnoreTestImpact

false

O recurso de impacto de teste fornece a prioridade para testes que são afetados por alterações recentes, quando executado em MSTest ou gerente de teste da Microsoft.Essa configuração desativa o recurso.Para obter mais informações, consulte Como: coletar dados para verificar quais testes devem ser executados após alterações de código.

SettingsFile

Você pode especificar configurações de um teste arquivos para usar com o adaptador de teste MS aqui.Você também pode especificar um arquivo de configurações de teste usando o menu Testar, Configurações de Teste, Configurações específicas Arquivo de teste.

Se você especificar este valor, ForcedlegacyMode é automaticamente definida como verdadeiro.

KeepExecutorAliveAfterLegacyRun

false

Depois que um ensaio terminar, MSTest está fechado.Qualquer processo que é iniciado como parte de teste será matado também no momento.Se você desejar manter o executor de teste ativa, ative essa configuração para como true.

Por exemplo, você pode usar esse para manter a execução do navegador entre teste codificados de interface do usuário.

DeploymentEnabled

verdadeiro

Se você definir a falsos isso, os itens de implantação que você especificou no método de teste não será copiado para o diretório de implantação.

CaptureTraceOutput

verdadeiro

Você pode gravar o rastreamento de depuração do método de teste usando Trace.WriteLine.Usando essa configuração, você pode desativar esses rastreamentos de depuração.

DeleteDeploymentDirectoryAfterTestRunIsComplete

verdadeiro

Você pode manter o diretório de implantação após um ensaio definir esse valor para false.

MapInconclusiveToFailed

false

Se um teste retorna com um status inconsequente, geralmente é mapeado para o status saltado no teste Explorer.Se você deseja que os testes inconsequentes a ser exibidos como falhados, use esta configuração.

InProcMode

false

Se você quiser que os testes a ser executados no mesmo processo que o adaptador de teste MS, definir esse valor para verdadeiro.Essa configuração fornece um ganho menor de desempenho.Mas se um teste termina com uma exceção, os outros teste não continuarão.

Consulte também

Conceitos

Personalizando análise de cobertura de código

Outros recursos

Especificando configurações de teste do Visual Studio