0Pricing
C++ Academy · Lección

Configuración de GTest

Añada y ejecute el framework

Configuración de GTest es una lección gratuita de C++ Academy en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de C++ Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de C++ Academy incluye 4 lecciones en total.

¿Por qué usar un framework de pruebas?

Google Test (GTest) es un framework de pruebas unitarias de C++ muy utilizado. Proporciona registro de pruebas, aserciones completas, fixtures e informes claros para que pueda verificar el código automáticamente.

Obtener GTest

Formas habituales de obtener GTest:

  • Paquete del sistema (por ejemplo, libgtest-dev)
  • FetchContent en CMake, descargándolo desde GitHub
  • Un submódulo incluido en el repositorio

FetchContent es la opción más portable para proyectos nuevos.

CMake con FetchContent

Una configuración mínima de CMake descarga GoogleTest y lo enlaza.

# CMakeLists.txt
include(FetchContent)
FetchContent_Declare(
  googletest
  URL https://github.com/google/googletest/archive/refs/tags/v1.14.0.zip
)
FetchContent_MakeAvailable(googletest)

add_executable(my_tests test_main.cpp)
target_link_libraries(my_tests GTest::gtest_main)

Su primera prueba

Una prueba se declara con la macro TEST, que recibe el nombre de una suite de pruebas y el nombre de la prueba. Dentro, se utilizan aserciones.

#include <gtest/gtest.h>

int add(int a, int b) { return a + b; }

TEST(MathTest, AddsPositive) {
    EXPECT_EQ(add(2, 3), 5);
}

No necesita main()

Enlazar con GTest::gtest_main proporciona el main() que ejecuta todas las pruebas registradas. Solo tiene que escribir los casos de prueba.

Escribir su propio main

Si necesita un punto de entrada personalizado, inicialice GTest usted mismo.

#include <gtest/gtest.h>

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

Compilar y ejecutar

Después de configurar CMake, compile y ejecute.

  • cmake -S . -B build
  • cmake --build build
  • ./build/my_tests

GTest muestra un resumen en color de las pruebas aprobadas y fallidas.

Leer la salida

Cada prueba informa primero de [ RUN ] y después de [ OK ] o [ FAILED ]. Una línea final muestra cuántas pruebas se aprobaron. Los fallos incluyen el archivo, la línea y los valores esperados y reales.

Ejecutar un subconjunto

Utilice la opción --gtest_filter para ejecutar solo las pruebas que coincidan, por ejemplo, ./my_tests --gtest_filter=MathTest.*. Esto acelera la depuración específica.

Integrar con CTest

Llame a enable_testing() y registre el binario con gtest_discover_tests para que ctest pueda ejecutar su suite en CI.

# CMakeLists.txt
enable_testing()
include(GoogleTest)
gtest_discover_tests(my_tests)

Un flujo de trabajo saludable

Escriba una prueba que falle, implemente el código y observe cómo pasa. Mantenga las pruebas rápidas e independientes para poder ejecutarlas con cada cambio.

Comprobación rápida

Recuerde cómo se proporciona main().

Resumen

Ha configurado Google Test.

  • Obténgalo mediante FetchContent, un paquete o un submódulo
  • TEST(Suite, Name) declara una prueba
  • Enlace gtest_main para obtener un main() automático
  • Compile, ejecute, filtre e integre con CTest

Preguntas frecuentes

¿La lección «Configuración de GTest» es gratis?

Sí — el texto completo de «Configuración de GTest» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de C++ Academy, actualiza a CoddyKit PRO. El curso de C++ Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Configuración de GTest»?

Añada y ejecute el framework Practicas C++ Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar C++ Academy?

No se requiere experiencia previa. C++ Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.

¿Cuánto tiempo toma la lección «Configuración de GTest»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de C++ Academy?

Sí. Cada lección de C++ Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Configuración de GTest
  2. Aserciones y matchers
  3. Fixtures y configuración
  4. Mocking con GMock
← Volver a C++ Academy