Compartilhar via


Editando um arquivo de configuração de execução de teste de XML

Conforme descrito em Como: edição uma configuração execução de teste arquivo, você pode alterar uma configuração de execução de teste de duas maneiras: usando o execução de teste editor de configuração ou editando o XML do teste de arquivo de configuração de execução.Em geral, primeiro tente fazer alterações usando o editor de configuração de execução de teste.Se a configuração específica que você deseja alterar não pode ser alterada desse modo, edite o arquivo de configuração de execução de teste.

Para ajudar você a determinar qual método usar, este tópico mostra a estrutura geral de um arquivo de configuração de execução de teste e fornece dois exemplos de configurações que você pode edição manualmente, mas não é possível edição usando o editor de configuração de execução de teste.

Ao alterar as definições de configuração das execuções usando o editor de configuração de execução de teste de teste, você verá essas alterações sejam aplicadas nesse arquivo.Quando você alterar valores nesse arquivo, você verá algumas, mas não todos, de s alterar refletidas no teste executar o editor de configuração.

Para obter mais informações sobre como usar o editor de configuração de execução de teste, consulte Como: Especifique uma configuração de execução de teste.

Arquivo de configuração de execução de teste de exemplo

No arquivo de exemplo a seguir, determinados elementos são mostrados em negrito.Esses elementos correspondem às áreas Geral de configurações que você pode fazer usando o editor de configuração de execução de teste.

<?xml version="1.0" encoding="utf-8"?>

<Tests>  

    <TestRunConfiguration type="Microsoft.VisualStudio.TestTools.Common.TestRunConfiguration">

      <id type="Microsoft.VisualStudio.TestTools.Common.TestRunConfigurationId">

        <id type="System.Guid">5d9344ed-bbde-4850-b05e-a7058096e956</id>

      </id>

    <name type="System.String">TestRunConfig1</name>

    <description type="System.String">This is a default test run configuration for a local test run.</description>

    <isCodeCoverageEnabled type="System.Boolean">True</isCodeCoverageEnabled>

    <codeCoverageItems type="System.Collections.Generic.List`1[[Microsoft.VisualStudio.TestTools.Common.CodeCoverageItem, Microsoft.VisualStudio.QualityTools.Common, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a]]">

    <_items type="Microsoft.VisualStudio.TestTools.Common.CodeCoverageItem[]">

      <element type="Microsoft.VisualStudio.TestTools.Common.CodeCoverageItem">

        <binaryFile type="System.String">bin\Debug\ClassLibrary1.dll</binaryFile>

        <keyFile type="System.String">Library1.snk</keyFile>

        <pdbFile type="System.String">bin\Debug\ClassLibrary1.pdb</pdbFile>

        <instrumentInPlace type="System.Boolean">True</instrumentInPlace>

        <outputDirectory type="System.String" />

      </element>

      </_items><_size type="System.Int32">1</_size>

      <_version type="System.Int32">1</_version>

    </codeCoverageItems>

    <codeCoverageKeyFile type="System.String" />

    <aspNetProjectCoverageItems type="System.Collections.Generic.List`1[

[Microsoft.VisualStudio.TestTools.Common.AspNetProjectItem, Microsoft.VisualStudio.QualityTools.Common, Version=8.0.0.0,

Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a]]">

    <_size type="System.Int32">0</_size>

    <_version type="System.Int32">0</_version>

    </aspNetProjectCoverageItems>

    <isExecutedRemotely type="System.Boolean">False</isExecutedRemotely>

    <bucketSize type="System.Int32">200</bucketSize>

    <bucketThreshold type="System.Int32">1000</bucketThreshold>

    <runTimeout type="System.Int32">0</runTimeout>

    <testTimeout type="System.Int32">300000</testTimeout>

    <agentNotRespondingTimeout type="System.Int32">300000</agentNotRespondingTimeout>

    <deploymentTimeout type="System.Int32">300000</deploymentTimeout>

    <controllerName type="System.String" />

    <plugins type="System.Collections.Generic.List`1[[System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]">

    <_size type="System.Int32">0</_size>

    <_version type="System.Int32">0</_version>

    </plugins>

    <testTypeSpecificData type="System.Collections.Generic.Dictionary`2[[Microsoft.VisualStudio.TestTools.Common.TestType, Microsoft.VisualStudio.QualityTools.Common, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a],[Microsoft.VisualStudio.TestTools.Common.ITestTypeSpecificRunConfigurationData, Microsoft.VisualStudio.QualityTools.Common, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a]]">

    <buckets type="System.Int32">-1,-1,0</buckets>

      <entries type="System.Collections.Generic.Dictionary`2+Entry[[Microsoft.VisualStudio.TestTools.Common.TestType, Microsoft.VisualStudio.QualityTools.Common, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a],[Microsoft.VisualStudio.TestTools.Common.ITestTypeSpecificRunConfigurationData, Microsoft.VisualStudio.QualityTools.Common, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a]][]">

        <element type="Microsoft.VisualStudio.TestTools.WebTesting.WebTestRequestHeader, Microsoft.VisualStudio.QualityTools.WebTestFramework, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">

          <m_name type="System.String">User-Agent</m_name>

          <m_value type="System.String">Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)</m_value>

        </element>

      </entries>

    <count type="System.Int32">1</count>

    <version type="System.Int32">1</version>

    <freeList type="System.Int32">-1</freeList>

    <freeCount type="System.Int32">0</freeCount>

    <comparer type="System.Collections.Generic.ObjectEqualityComparer`1[[Microsoft.VisualStudio.TestTools.Common.TestType, Microsoft.VisualStudio.QualityTools.Common, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a]]" />

    </testTypeSpecificData>

    <userDeploymentRoot type="System.String" />

    <useDefaultDeploymentRoot type="System.Boolean">True</useDefaultDeploymentRoot>

    <deploymentItems type="Microsoft.VisualStudio.TestTools.Common.DeploymentItemCollection" />

    <testRunNamingScheme type="Microsoft.VisualStudio.TestTools.Common.TestRunNamingScheme">

      <appendTimeStamp type="System.Boolean">True</appendTimeStamp>

      <useDefault type="System.Boolean">True</useDefault>

    </testRunNamingScheme>

    <setupCommand type="System.String" />

    <cleanupCommand type="System.String" />

    <abortRunOnError type="System.Boolean">False</abortRunOnError>

    <mapIPAddresses type="System.Boolean">False</mapIPAddresses>

    <agentProperties type="System.Collections.Specialized.StringDictionary, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />

    <hostData type="Microsoft.VisualStudio.TestTools.Common.HostRunConfigurationData">

    <mapHostSpecificData type="System.Collections.Generic.Dictionary`2[[System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],

[Microsoft.VisualStudio.TestTools.Common.IHostSpecificRunConfigurationData, Microsoft.VisualStudio.QualityTools.Common, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a]]">

    <count type="System.Int32">0</count>

    <version type="System.Int32">0</version>

    <freeList type="System.Int32">0</freeList>

    <freeCount type="System.Int32">0</freeCount>

    <comparer type="System.Collections.Generic.GenericEqualityComparer`1[[System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]" />

    </mapHostSpecificData>

    </hostData>

    <ignoredDependentAssemblies type="System.String" />

    <apartmentState type="System.Threading.ApartmentState">

    <value__ type="System.Int32">0</value__>

    </apartmentState>

  </TestRunConfiguration>

</Tests>

Exemplos

As seções a seguir mostram como fazer alterações específicas no arquivo XML que controla a configuração de execução de teste.Você deve fazer essas alterações no XML porque não pode fazer usando o editor de configuração de execução de teste.

  • Alterar o localização padrão para resultados de teste

  • Alterar local de instrumentação e especificando arquivos adicionais da chave

Alterar o localização padrão para resultados de teste

Quando você executa testes, os resultados desses testes são automaticamente salvos em disco em um localização padrão.Se você não alterar o arquivo de XML de configuração de execução de teste, a variável booleana useDefaultDeploymentRoot retém seu valor padrão True. Nesse caso, os resultados de teste são salvos nos seguintes locais:

  • Os resultados de testes que você executar o Visual Studio IDE são salvos na pasta TestResults sob a pasta de solução corrente.

  • Os resultados de testes que você execute usando a linha de comando MSTest.exe são salvos na pasta TestResults sob a pasta corrente. 

Você pode alterar esse localização padrão, alterando configurações de dois.Primeiro, conjunto useDefaultDeploymentRoot como False. Em seguida, especifique um novo valor para a pasta padrão.

Por exemplo, altere isso:

<useDefaultDeploymentRoot type="System.Boolean">True</useDefaultDeploymentRoot>

a esta:

<useDefaultDeploymentRoot type="System.Boolean">False</useDefaultDeploymentRoot >

<userDeploymentRoot

  type="System.String">C:\My Documents\Visual Studio\Projects\MyResults</userDeploymentRoot>

  <runDeploymentRoot type="System.String" />

Alterando o local de instrumentação Code Coverage e especificando arquivos adicionais de chaves para Re-Signing

No teste configuração de execução editor, você pode selecionar artefatos para instrumentar para habilitar a cobertura de código.Além disso, você pode especificar se instrumentá-los no lugar e você pode especificar um arquivo de chave usado para assinar novamente o nome forte de módulos (assemblies) depois que eles tenham sido instrumentados.

Essas configurações aplicar ao teste inteiro executado, que significa que elas são aplicadas a todos os assemblies.Se você desejar usar configurações diferentes com assemblies individuais, deve fazê-lo no execução de teste o arquivo XML de configuração.

Neste exemplo, você tem dois binários de cobertura de código: ClassLibrary1.dll e ClassLibrary2.dll.Por exemplo, você pode especificar que ClassLibrary1.dll devem ser instrumentado no local, mas não ClassLibrary2.dll.Você pode também especificar que o ClassLibrary1.dll deve ser assinado novamente após a instrumentação com Library1.snk e ClassLibrary2.dll com um arquivo de chave diferente, Library2.snk.

O XML a seguir mostra como fazer isso.Os elementos mostrados aqui, cada uma representando um assembly, são elementos filho do <codeCoverageItems> elemento.

  <element type="Microsoft.VisualStudio.TestTools.Common.CodeCoverageItem">

    <binaryFile type="System.String">bin\Debug\ClassLibrary1.dll</binaryFile>

    <keyFile type="System.String">Library1.snk</keyFile>

    <pdbFile type="System.String">bin\Debug\ClassLibrary1.pdb</pdbFile>

    <instrumentInPlace type="System.Boolean">True</instrumentInPlace>

    <outputDirectory type="System.String" />

  </element>

  <element type="Microsoft.VisualStudio.TestTools.Common.CodeCoverageItem">

    <binaryFile type="System.String">bin\Debug\ClassLibrary2.dll</binaryFile>

    <keyFile type="System.String">Library2.snk</keyFile>

    <pdbFile type="System.String">bin\Debug\ClassLibrary2.pdb</pdbFile>

    <instrumentInPlace type="System.Boolean">False</instrumentInPlace>

    <outputDirectory type="System.String" />

  </element>

Consulte também

Tarefas

Como: edição uma configuração execução de teste arquivo

Conceitos

Instrumentação e Re-Signing Assemblies

Outros recursos

Execução do teste de linha de comando