Compartir a través de


Elegir la carpeta de instrumentación

Actualización: noviembre 2007

Si necesita recopilar datos de cobertura de código mientras prueba el código en un archivo binario, Visual Studio debe instrumentar primero ese archivo binario. El proceso de instrumentación agrega código al archivo binario que genera datos de cobertura de código. Para obtener más información sobre cómo instrumentar archivos binarios para la cobertura de código, vea Cómo: Obtener datos de cobertura de código.

Puede controlar de algún modo el proceso de instrumentación; en concreto, puede elegir el lugar donde se realiza la instrumentación. Visual Studio puede instrumentar archivos binarios de dos formas:

  • En contexto. Si elige la instrumentación en contexto, Visual Studio instrumenta el archivo binario en la carpeta donde éste se encuentra antes de ejecutar la prueba. Si el archivo binario forma parte de una aplicación que está creando, ésta es la carpeta en la que Visual Studio genera el archivo binario.

  • En la carpeta de implementación. Si decide no realizar la instrumentación en contexto, Visual Studio instrumenta el archivo binario en la carpeta de implementación. Las carpetas de implementación se crean específicamente para las ejecuciones de pruebas. Para obtener más información sobre el proceso de implementación, vea Información general sobre la implementación de pruebas.

Para decidir qué carpeta utilizar, vea Determinar la carpeta de instrumentación. A continuación, para obtener información sobre cómo definir la carpeta, vea Especificar la carpeta de instrumentación.

Determinar la carpeta de instrumentación

¿Cómo saber cuál es la mejor carpeta en la que instrumentar el archivo binario? La elección entre instrumentar el archivo binario en contexto o en la carpeta de implementación depende del nivel de acceso que tenga al archivo binario y del tipo de archivo binario.

Binarios con disponibilidad limitada. Un archivo binario con alguno de los estados siguientes recibe el nombre de binario con disponibilidad limitada en la tabla siguiente:

  • El binario se comparte entre varias personas. El problema con binarios compartidos es la posibilidad de que surjan conflictos debido a que lo usen al mismo tiempo varios usuarios. Esto ocurre, por ejemplo, si dos usuarios inician ejecuciones de prueba y solicitan además datos de cobertura de código del mismo binario a la vez.

  • El archivo binario está en un recurso compartido de red y no en su equipo local.

  • Tiene acceso de sólo lectura al archivo binario.

Binarios con una ubicación de carga fija. El motor de ejecución de pruebas sólo puede cargar algunos archivos binarios de una ubicación concreta. Este tipo de binarios se denominan binarios con ubicación de carga fija en la tabla siguiente. Incluyen los siguientes tipos de archivos:

  • Componentes COM

  • Páginas de Panel de control

En la tabla siguiente se proporcionan instrucciones para seleccionar la carpeta de instrumentación correcta. Vea la columna Notas adicionales para aquellos casos en los que haya que considerar factores especiales.

Ubicación de carga del binario

Disponibilidad del binario

Instrumentar en esta carpeta

Notas adicionales

fixed

no limitada

en contexto

(ninguna)

no fija

limitada

en la carpeta de implementación

(ninguna)

no fija

no limitada

Ambas carpetas funcionan, pero es aconsejable que elija 'en la carpeta de implementación'.

Si, después de elegir la instrumentación en contexto, vuelve a generar un archivo binario instrumentado durante la ejecución de prueba, el motor de pruebas detecta que el binario regenerado es más reciente, no restaura su versión preinstrumentada y genera una advertencia de nivel de ejecución.

fixed

limitada

en contexto, pero consulte las notas adicionales

Si no elige la instrumentación en contexto, los archivos binarios en una ubicación fija no se instrumentan. Esto significa que, aunque la ejecución de la prueba se realice correctamente y no se genere ninguna advertencia de nivel de ejecución, no se recopilarán los datos de cobertura de código.

Para obtener sugerencias sobre cómo solucionar este problema, vea Binarios de ubicación fija y disponibilidad limitada.

Especificar la carpeta de instrumentación

Puede elegir entre instrumentar en contexto y en la carpeta de implementación de dos maneras:

  • Para convertir su elección en la configuración predeterminada, vaya al cuadro de diálogo Opciones en el menú Herramientas de Visual Studio. Para buscar esta configuración, examine la página Ejecución de prueba bajo el nodo Herramientas de prueba.

  • También puede especificar la carpeta de instrumentación para una configuración de ejecución de prueba determinada. En la página Cobertura de código del editor de configuración de ejecución de prueba, puede activar Instrumentar ensamblados en contexto. Para obtener más información, vea Cómo: Especificar la configuración de una ejecución de prueba.

Binarios de ubicación fija y disponibilidad limitada

El motor de pruebas debe ser capaz de modificar el archivo binario que se va a instrumentar en contexto. Para ello, tenga en cuenta los siguientes criterios:

  • El archivo binario no debe tener definido el atributo de sólo lectura. Puede corregir esta configuración si tiene permisos suficientes en el archivo.

  • El motor de pruebas debe tener permisos para instrumentar el archivo binario. Esto significa que el usuario que ejecuta la prueba debe tener los privilegios necesarios para modificar los archivos binarios. Dado que la aplicación host realiza la instrumentación, la cuenta que necesita estos privilegios es la cuenta bajo la que se ejecuta devenv.exe o MSTest.exe, independientemente de que la ejecución sea local o remota. Esta cuenta pertenece a la persona que ejecuta Visual Studio, que ha ejecutado el comando MSTest.exe o que ha iniciado una generación que, a su vez, ejecuta pruebas.

  • El archivo binario no debe estar en uso o bloqueado por otro programa. Si esto ocurre, debe finalizar el programa que está produciendo el bloqueo o esperar a que finalice.

Si el motor de pruebas sigue sin poder instrumentar uno o varios binarios, genera una advertencia de nivel de ejecución.

Vea también

Tareas

Cómo: Especificar la configuración de una ejecución de prueba

Cómo: Configurar la implementación de pruebas

Conceptos

Instrumentar y volver a firmar ensamblados

Información general sobre la implementación de pruebas

Otros recursos

Configurar la cobertura de código