2012-01-05 20 views
15

Estoy usando una máquina Linux. tengo descargar el paquete de googletest heregoogletest: ¿cómo configurarlo?

Sin embargo, no existe una guía de instalación o de otros blogs relacionados sobre cómo configurarlo correctamente El archivo README no es bueno que no puedo entender lo que está hablando?

¿Alguien puede proporcionar un ejemplo simple sobre cómo probar una función simple dentro de un archivo .cc con ese paquete gtest?

Respuesta

0

echar un vistazo en la web del proyecto:

respecto a la documentación disponible.

Si tiene preguntas más específicas también se puede pedir en el grupo de Google:

+1

su sugerencia no es tan útil en SO –

+2

Le proporcioné referencias a las fuentes que con mayor probabilidad responderán preguntas específicas. también podría abordar lo que no está claro en el archivo README allí, por lo que se puede mejorar. – udo

3

Estas instrucciones de obtener el marco de pruebas de trabajo para la configuración de depuración.

Obtener Google C++ Framework de Pruebas

1.Download la última GTEST marco

2.Unzip a C:\gtest

generar las bibliotecas marco

1.Open C:\gtest\msvc\gtest.sln en Visual Studio

configuración 2.Set de "depuración"

3.Build Solución

Crear y configurar su proyecto de prueba

1.Create una nueva solución y elegir la plantilla de Visual C++> Win32> Win32 Aplicación de consola

2.Right haga clic en el proyecto recién creado y seleccione Propiedades

configuración 3.Cambie de depurar.

4.Configuration Propiedades> C/C++> General> Directorios de inclusión adicionales: Agregar C:\gtest\include

5.Configuration Propiedades> C/C++> Generación de código> Biblioteca Tiempo de ejecución: Si sus enlaces de código en un archivo DLL en tiempo de ejecución, seleccione Multi-threaded Debug DLL (/ MDd). De lo contrario, elija Depuración multiproceso (/ MTd).

6.Configuration Propiedades> Enlazador> General> Directorios Biblioteca adicionales: Añadir C:\gtest\msvc\gtest\Debug

7.Propiedades de configuración> Linker> Entrada> Dependencias adicionales: Añadir gtestd.lib

Verificación todo funciona

1.Open el CPP en su proyecto de prueba que contiene la función main().

2.Paste el siguiente código:

#include "stdafx.h" 
#include <iostream> 

#include "gtest/gtest.h" 

    TEST(sample_test_case, sample_test) 
    { 
     EXPECT_EQ(1, 1); 
    } 

    int main(int argc, char** argv) 
    { 
     testing::InitGoogleTest(&argc, argv); 
     RUN_ALL_TESTS(); 
     std::getchar(); // keep console window open until Return keystroke 
    } 

1.Debug> iniciar la depuración

Si esto funciona debería ver la ventana de la consola abierta con sus resultados.

+2

Gracias de todos modos, pero ¿tiene la solución para el entorno de Linux? –

+0

Oh, me disculpo, no vi Linux allí. –

10

Esto es lo que hice y puede ajustarlo según sea necesario. Descargué gtest-1.6.0.zip (de la página de releases) en mi cuadro de Linux en ~/Descargas que mecanografiaron completamente es/home/me/Downloads/

Descomprimir los contenidos de gtest-1.6.0.zip en ~/Descargas/GTEST-1.6.0/

cd /home/me/Downloads 
unzip gtest-1.6.0.zip 

construir la biblioteca GTEST porque es algo que hay que "incluir" en el ejecutable de prueba. compilar el archivo objeto GTEST-all.o:

g++ -Igtest-1.6.0/include -Igtest-1.6.0 -c gtest-1.6.0/src/gtest-all.cc 

luego construir la libgtest.a archivo de biblioteca:

ar -rv libgtest.a gtest-all.o 

Ahora usted puede crear su archivo test.cc en ~/Descargas. Aquí hay un archivo de prueba de ejemplo que utilicé para asegurarme de que compila.

#include "gtest/gtest.h" 

TEST(blahTest, blah1) { 
    EXPECT_EQ(1, 1); 
} 

int main (int argc, char** argv) { 
    ::testing::InitGoogleTest(&argc, argv); 

    int returnValue; 

    //Do whatever setup here you will need for your tests here 
    // 
    // 

    returnValue = RUN_ALL_TESTS(); 

    //Do Your teardown here if required 
    // 
    // 

    return returnValue; 
} 

para compilar su propia prueba y ejecutarlo:

g++ -I/home/me/Downloads/gtest-1.6.0/include -pthread test.cc libgtest.a -o test_executable 

Entonces para ejecutarlo:

./test_executable 

y debería funcionar bien. Modifique según sea necesario desde allí.

Cuestiones relacionadas