Editar un archivo de configuración XML de ejecución de prueba
Actualización: noviembre 2007
Como se describe en Cómo: Editar el archivo de configuración de una ejecución de prueba, puede cambiar la configuración de una ejecución de prueba de dos maneras: utilizando el editor de configuración de ejecución de prueba o editando el código XML del archivo de configuración de la ejecución de prueba. Por regla general, intente primero realizar los cambios con el editor de configuración de ejecución de prueba. Si no se puede cambiar el valor de configuración específico que desea modificar de ese modo, edite el archivo de configuración de ejecución de prueba.
Para ayudarle a determinar qué método utilizar, en este tema se muestra la estructura general de un archivo de configuración de ejecución de prueba y se proporcionan dos ejemplos de configuración que puede editar manualmente, pero no con el editor de configuración de ejecución de prueba.
Cuando cambie los valores de configuración de ejecución de prueba mediante el editor de configuración de ejecución de prueba, verá esos cambios reflejados en este archivo. Al cambiar los valores en este archivo, verá algunos cambios, pero no todos, reflejados en el editor de configuración de ejecución de prueba.
Para obtener más información acerca de cómo usar el editor de configuración de ejecución de prueba, vea Cómo: Especificar la configuración de una ejecución de prueba.
Archivo de configuración de ejecución de prueba de ejemplo
En el archivo de ejemplo siguiente, algunos elementos se muestran en negrita. Estos elementos se corresponden con las áreas generales de configuración que puede definir mediante el editor de configuración de ejecución de prueba.
<?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>
Ejemplos
En las secciones siguientes se muestra cómo realizar cambios específicos en el archivo XML que controla la configuración de ejecución de prueba. Debe realizar estos cambios en el código XML, ya que no se pueden efectuar mediante el editor de configuración de ejecución de prueba.
Cambiar la ubicación predeterminada de los resultados de la prueba
Cambiar la ubicación de la instrumentación y especificar archivos de claves adicionales para volver a firmar
Cambiar la ubicación predeterminada de los resultados de la prueba
Cuando ejecute las pruebas, los resultados se guardarán automáticamente en el disco en una ubicación predeterminada. Si no cambia el archivo XML de configuración de ejecución de prueba, la variable booleana useDefaultDeploymentRoot conserva su valor predeterminado de True. En tal caso, los resultados de la prueba se guardan en las ubicaciones siguientes:
Los resultados de las pruebas que ejecute en el IDE de Visual Studio se guardan en la carpeta TestResults bajo la carpeta de la solución actual.
Los resultados de las pruebas que ejecute mediante el comando MSTest.exe en la línea de comandos se guardan en la carpeta TestResults bajo la carpeta actual.
Puede cambiar esta ubicación predeterminada modificando dos valores. En primer lugar, establezca useDefaultDeploymentRoot en False. A continuación, especifique un nuevo valor para la carpeta predeterminada.
Por ejemplo, cambie:
<useDefaultDeploymentRoot type="System.Boolean">True</useDefaultDeploymentRoot>
a:
<useDefaultDeploymentRoot type="System.Boolean">False</useDefaultDeploymentRoot >
<userDeploymentRoot
type="System.String">C:\My Documents\Visual Studio\Projects\MyResults</userDeploymentRoot>
<runDeploymentRoot type="System.String" />
Cambiar la ubicación de la instrumentación de cobertura de código y especificar archivos de claves adicionales para volver a firmar
En el editor de configuración de ejecución de prueba, puede seleccionar los artefactos que desea instrumentar para habilitar la cobertura de código. Asimismo, puede especificar si va a instrumentarlos en contexto, así como el archivo de claves que se va a utilizar para volver a firmar los ensamblados con nombre seguro una vez instrumentados.
Esta configuración se aplica a toda la ejecución de prueba, lo que significa que se aplica a todos los ensamblados. Si desea utilizar una configuración diferente con los distintos ensamblados, debe utilizar el archivo XML de configuración de ejecución de prueba.
En este ejemplo, hay dos archivos binarios de cobertura de código: ClassLibrary1.dll y ClassLibrary2.dll. Puede especificar, por ejemplo, que ClassLibrary1.dll debe instrumentarse en contexto, pero no así ClassLibrary2.dll. Puede especificar también que ClassLibrary1.dll se va a volver a firmar después de la instrumentación con Library1.snk y ClassLibrary2.dll con un archivo de claves diferente, Library2.snk.
En el siguiente código XML se muestra cómo hacerlo: Los elementos mostrados aquí, cada uno de los cuales representa un ensamblado, son elementos secundarios del elemento <codeCoverageItems>.
<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>
Vea también
Tareas
Cómo: Editar el archivo de configuración de una ejecución de prueba
Conceptos
Instrumentar y volver a firmar ensamblados