Compartir a través de


Solución de problemas de pruebas genéricas

Actualización: noviembre 2007

Al ejecutar las pruebas genéricas, puede que detecte el siguiente error: La recopilación de datos de cobertura de código no funciona cuando se ejecuta una prueba genérica en una plataforma de 64 bits. Para resolver este error, utilice la información de la siguiente sección, Sortear la limitación de 32 bits.

Sortear la limitación de 32 bits

La instrumentación de cobertura de código funciona sólo en el modo de 32 bits, no en el de 64. La razón es que sólo se puede cargar un ensamblado en el modo de 32 bits después de haberse instrumentado para la cobertura de código.

Nota:

Ninguna limitación de este tipo se aplica al ejecutar pruebas unitarias en un equipo de 64 bits si no se están recopilando datos de cobertura de código. La razón es que VSTestHost.exe, el motor de pruebas que carga la biblioteca de clases, se ejecuta en un proceso de 32 bits.

En una prueba genérica, la aplicación incluida se genera en "Cualquier CPU"; es decir, en un equipo de 64 bits se ejecuta en un proceso de 64 bits. Cuando este proceso de 64 bits intenta cargar un ensamblado de 32 bits, se produce un error. Puede resolver el problema de una de las siguientes formas.

Use el siguiente método si la prueba genérica incluye directamente el archivo binario en el que se ha compilado el código de producción:

  • Cambiar la configuración de la solución a x86

Use cualquiera de los dos métodos siguientes si existe una capa entre la prueba genérica y el archivo binario de código de producción. Es decir, la prueba genérica incluye una aplicación intermediaria como instrumento de prueba. Este instrumento, a su vez, ejecuta el código de producción que se prueba.

  • Instrumentar la aplicación que carga el archivo binario de código de producción

  • Cambiar la configuración de generación de la aplicación que carga el archivo binario de código de producción

Cambiar la configuración de la solución a x86

Cambie la configuración de la solución de "Cualquier CPU" a "x86".

Para cambiar la configuración de la solución

  1. Haga clic con el botón secundario en la solución y, a continuación, haga clic en Propiedades.

    Aparece el cuadro de diálogo Páginas de propiedades de la solución.

  2. En Propiedades de configuración, haga clic en Configuración.

  3. Haga clic en Administrador de configuración.

    Se muestra el cuadro de diálogo Administrador de configuración.

  4. En Plataforma de soluciones activas, haga clic en Nuevo.

    Se muestra el cuadro de diálogo Nueva plataforma de solución.

  5. En Escriba o seleccione la nueva plataforma, haga clic en x86.

  6. En el cuadro de diálogo Nueva plataforma de solución, haga clic en Aceptar.

  7. En el cuadro de diálogo que pregunta si desea guardar los cambios, haga clic en Sí.

  8. En el cuadro de diálogo Administrador de configuración, en Plataforma de soluciones activas, asegúrese de que está seleccionada la opción x86 y, a continuación, haga clic en Cerrar.

  9. En el cuadro de diálogo Páginas de propiedades de la solución, haga clic en Aceptar.

Instrumentar la aplicación que carga el archivo binario de código de producción

Utilice este procedimiento para instrumentar una aplicación intermediaria, o instrumento de pruebas, que incluye la prueba genérica. Esta aplicación intermediaria ejecuta el código que desea probar. De esta forma, se fuerza a que la aplicación se ejecute en modo de 32 bits.

Nota:

Este procedimiento sólo funcionará si el archivo de símbolos está disponible para el archivo que se instrumenta.

Para especificar el archivo ejecutable para la instrumentación

  1. En Visual Studio, abra el proyecto de prueba que contiene la prueba genérica.

  2. En el Explorador de soluciones, abra la carpeta Elementos de la solución.

  3. En la carpeta Elementos de la solución, haga doble clic en el archivo .testrunconfig.

  4. Se muestra el cuadro de diálogo de configuración de la ejecución de prueba.

  5. Haga clic en Cobertura de código.

  6. En Seleccionar artefactos para instrumentar, seleccione la aplicación intermediaria que ejecuta el archivo binario de código de producción.

    Nota:

    Si el archivo binario de la aplicación intermediaria no se muestra en Seleccionar artefactos para instrumentar, haga clic en Agregar ensamblado. En el cuadro de diálogo Elegir ensamblados para instrumentar, especifique el archivo y, a continuación, haga clic en Abrir.

  7. Haga clic en Aplicar y, a continuación, en Cerrar.

Cambiar la configuración de generación de la aplicación que carga el archivo binario de código de producción

Utilice este procedimiento para instrumentar cualquier aplicación intermediaria, o instrumento de pruebas, que incluya la prueba genérica. Esta aplicación intermediaria ejecuta el código que desea probar.

En este procedimiento, va a cambiar la configuración de la aplicación intermediaria para que se genere en la plataforma x86.

Nota:

Sólo puede hacerlo si la aplicación incluida se genera desde un proyecto de la solución.

Para cambiar la configuración de generación de la aplicación incluida

  1. En el Explorador de soluciones, haga clic con el botón secundario en el proyecto desde el que se genera la aplicación intermediaria y, a continuación, haga clic en Propiedades.

    De esta forma, se muestra una página de propiedades del proyecto.

  2. Haga clic en la ficha Generar.

  3. En el plataforma de destino, especifique x86.

  4. En el menú Archivo, haga clic en Guardar los elementos seleccionados.

Vea también

Tareas

Cómo: Recopilar datos de cobertura de código con pruebas genéricas