Compartir a través de


Pruebas unitarias y C++

Actualización: noviembre 2007

Las pruebas unitarias se pueden utilizar en Visual C# y en Visual Basic.

Nota:

Existen algunas restricciones en cuanto a la generación de pruebas unitarias para tipos genéricos y métodos genéricos en Visual C# y Visual Basic. Para obtener más información, vea Pruebas unitarias y tipos genéricos.

También se pueden utilizar en Visual C++ según lo que se especifica en este tema.

La manera en que puede utilizar Visual C++ con pruebas unitarias depende de la función que desempeñe Visual C++ en su solución. Estos son los casos posibles:

  • Utiliza pruebas unitarias para probar código que se ha escrito en Visual C++. Para obtener más información, vea Código de producción de Visual C++.

  • El proyecto de prueba contiene pruebas unitarias que se han escrito en Visual C++. Para obtener más información, vea Proyectos de prueba y Visual C++.

  • Piensa generar automáticamente pruebas unitarias a partir de código que se ha escrito en Visual C++. Para obtener más información, vea Generación de código y Visual C++.

Código de producción de Visual C++

Tenga en cuenta lo siguiente sobre el código que desea probar, al que se hace referencia aquí como código de producción.

  • No administrado. Si el código de producción es no administrado, es necesario que sea invocable desde una biblioteca estática, un archivo .obj o un punto de entrada de un archivo DLL. Los métodos de clase incrustados dentro de un archivo ejecutable o un archivo DLL no sirven porque Visual C++ no administrado no ofrece el mecanismo de descubrimiento en tiempo de ejecución, la reflexión. Por tanto, sólo funcionarán los mecanismos de enlace nativos tradicionales.

  • Mixto Un proyecto mixto es un proyecto que utiliza la opción del compilador /clr. Si su código de producción es mixto y no es un archivo ejecutable, se puede llamar a cualquier método invocable incluido en el código, y se puede probar dicho código.

  • Seguro o puro. Si su código de producción es seguro o puro, se puede llamar a cualquier método de ensamblado invocable y se puede probar dicho método, en un archivo ejecutable o DLL.

Proyectos de prueba y Visual C++

Un proyecto de prueba tiene recursos diferentes dependiendo de las opciones del compilador que se hayan establecido para el proyecto. Para obtener más información, vea Opciones del compilador y /clr (Compilación de Common Language Runtime). En las secciones siguientes, se describen los recursos disponibles para las distintas opciones de configuración del compilador.

No administrado

No se puede utilizar Visual C++ no administrado, o nativo, como lenguaje de programación para un proyecto de prueba.

Mixto

Un proyecto mixto es un proyecto que utiliza la opción del compilador /clr. Este tipo de proyecto de prueba proporciona la capacidad de probar el código de producción siguiente:

  • Bibliotecas estáticas nativas

  • Puntos de entrada de archivos DLL nativos

  • Archivos .obj independientes

  • Ensamblados de archivos DLL en modo mixto con métodos invocables. Aquí no se incluyen los archivos ejecutables, ya que contienen código no administrado, y el código ejecutable no administrado normalmente no se habilita para la dirección base.

  • Cualquier método administrado invocable. Se trata de código que se compila con la opción del compilador /clr:pure o /clr:safe.

Seguro o puro

Si utiliza la opción del compilador /clr:pure o la /clr:safe con su proyecto de prueba, le ofrece la posibilidad de probar cualquier método administrado invocable. Esto implica código de producción que se compila con la opción del compilador /clr, /clr:pure o /clr:safe.

Generación de código y Visual C++

Puede generar pruebas unitarias en un proyecto de prueba de Visual C++. Puede generar estas pruebas a partir de un proyecto de código de producción de Visual C++. Tenga en cuenta lo siguiente:

  • Proyecto de código de producción. Si su código de producción está escrito en Visual C++, sólo puede generar pruebas unitarias si el producto utiliza la opción del compilador /clr:safe.

  • Proyecto de prueba. La generación de código puede dar lugar a pruebas unitarias en cualquiera de los tipos de proyecto de prueba de Visual C++: mixto, seguro y puro. El tipo de proyecto predeterminado que se genera es /clr:safe. Si desea cambiar el proyecto a /clr o /clr:pure, puede hacerlo cuando desee mediante las opciones del compilador de Visual C++. Para obtener más información, vea /clr (Compilación de Common Language Runtime).

Vea también

Tareas

Cómo: Crear una prueba unitaria

Conceptos

Pruebas unitarias y tipos genéricos

Referencia

Opciones del compilador