unit c++ visual-studio-2012 mstest

unit - googletest c++



Ejecución de mstest desde la línea de comandos en pruebas nativas de C++ de Visual Studio 2012 (1)

Después de mucha búsqueda, finalmente descubrí una página de documentación msdn muy oculta que indica la compatibilidad de mstest con diferentes tipos de proyectos de prueba. Y resulta que mstest no es compatible con las pruebas de unidades nativas (bueno de msdn para documentar esto en una ubicación fácil de encontrar). En su lugar, debe usar la ejecución de pruebas de Visual Studio (vstest.console.exe) en lugar de msbuild para proyectos de prueba de unidades nativas.

por ejemplo

vstest.console.exe /Platform:x64 PathToTestProject/x64/Release/testproject.dll

Tengo una solución de Visual Studio 2012 con una serie de proyectos nativos de prueba de C ++. Puedo ejecutar todos estos correctamente y con éxito desde Visual Studio 2012 usando la pestaña Explorador de prueba.

Sin embargo, no puedo hacer que las pruebas se ejecuten cuando se ejecuta desde la línea de comandos.

Siguiendo la documentación, he estado ejecutando la siguiente línea de comando

mstest /testcontainer:PathToTestProject/Win32/Release/testproject.dll

También necesito correr

mstest /testcontainer:PathToTestProject/x64/Release/testproject.dll

para la prueba de la versión de 64 bits del código.

Cuando ejecuto estas líneas de comando obtengo el siguiente mensaje de error.

Herramienta de línea de comandos de ejecución de pruebas de Microsoft (R) Versión 11.0.50727.1 Copyright (c) Microsoft Corporation. Todos los derechos reservados.

Cargando PathToTestProject / Win32 / Release / testproject.dll ... PathToTestProject / Win32 / Release / testproject.dll No se puede cargar el contenedor de prueba PathToTestProject / Win32 / Release / testproject.dll ''o una de sus dependencias. Si construye el ensamblaje de proyecto de prueba como un ensamblaje de 64 bits, no se puede cargar. Cuando construya su ensamblaje de proyecto de prueba, seleccione "Cualquier CPU" para la plataforma. Para ejecutar sus pruebas en modo de 64 bits en un procesador de 64 bits, debe cambiar su configuración de prueba en la pestaña Hosts para ejecutar sus pruebas en un proceso de 32 bits. Detalles del error: No se pudo cargar el archivo o ensamblado ''file: /// c: / PathToTestProject / Win32 / Release / testproject.dll'' o una de sus dependencias. Se esperaba que el módulo incluyera un manifiesto de ensamblaje.

El código es c ++ nativo y tiene dos configuraciones de compilación una en la plataforma Win32 y la otra en la plataforma x64. No puedo tener una configuración de plataforma AnyCPU. ¿Qué me falta aquí para poder ejecutar las pruebas desde la línea de comandos?