GoogleTest ahora sigue la filosofía Abseil Live at Head. Recomendamos actualizar a la última confirmación en la rama main
con la mayor frecuencia posible. Publicamos versiones semánticas ocasionales, etiquetadas con v${major}.${minor}.${patch}
(por ejemplo, v1.15.2
).
Nuestra documentación ahora está disponible en las páginas de GitHub en https://google.github.io/googletest/. Recomendamos explorar la documentación en las páginas de GitHub en lugar de hacerlo directamente en el repositorio.
La versión 1.15.2 ya está disponible.
La rama 1.15.x requiere al menos C++14.
Utilizamos los sistemas internos de Google para una integración continua.
Estamos planeando depender de Abseil.
Este repositorio es una fusión de los proyectos GoogleTest y GoogleMock, anteriormente separados. Estos estaban tan estrechamente relacionados que tiene sentido mantenerlos y publicarlos juntos.
Consulte la Guía del usuario de GoogleTest para obtener documentación. Recomendamos comenzar con GoogleTest Primer.
Puede encontrar más información sobre cómo crear GoogleTest en googletest/README.md.
Marco de prueba xUnit:
Googletest se basa en el marco de pruebas xUnit, una arquitectura popular para pruebas unitarias.
Descubrimiento de prueba:
Googletest descubre y ejecuta automáticamente sus pruebas, eliminando la necesidad de registrarlas manualmente
Rico conjunto de afirmaciones:
Googletest proporciona una variedad de afirmaciones, como igualdad, desigualdad, excepciones y más, lo que facilita la prueba de su código.
Afirmaciones definidas por el usuario:
Puede definir sus propias afirmaciones con Googletest, lo que simplifica la escritura de pruebas específicas para su código.
Pruebas de muerte:
Googletest admite pruebas de muerte, que verifican que su código salga de cierta manera, lo que lo hace útil para probar el código de manejo de errores.
Fallos fatales y no fatales:
Puede especificar si una falla en la prueba debe tratarse como fatal o no fatal con Googletest, lo que permite que las pruebas continúen ejecutándose incluso si ocurre una falla.
Pruebas parametrizadas por valor:
Googletest admite pruebas con parámetros de valor, que se ejecutan varias veces con diferentes valores de entrada, lo que lo hace útil para probar funciones que toman diferentes entradas.
Pruebas parametrizadas por tipo:
Googletest también admite pruebas con parámetros de tipo, que se ejecutan con diferentes tipos de datos, lo que lo hace útil para probar funciones que funcionan con diferentes tipos de datos.
Varias opciones para ejecutar pruebas:
Googletest ofrece muchas opciones para ejecutar pruebas, incluida la ejecución de pruebas individuales, la ejecución de pruebas en un orden específico y la ejecución de pruebas en paralelo.
GoogleTest sigue la política fundamental de compatibilidad con C++ de Google. Consulte esta tabla para obtener una lista de las versiones actualmente compatibles de compiladores, plataformas y herramientas de compilación.
Además de muchos proyectos internos de Google, GoogleTest también se utiliza en los siguientes proyectos destacados:
Los proyectos Chromium (detrás del navegador Chrome y Chrome OS).
El compilador LLVM.
Protocol Buffers, el formato de intercambio de datos de Google.
La biblioteca de visión por computadora OpenCV.
GTest Runner es un ejecutor de pruebas automatizado basado en Qt5 y una interfaz gráfica de usuario con potentes funciones para plataformas Windows y Linux.
GoogleTest UI es un ejecutor de pruebas que ejecuta su binario de prueba, le permite realizar un seguimiento de su progreso a través de una barra de progreso y muestra una lista de fallas de prueba. Al hacer clic en uno se muestra el texto del error. La interfaz de usuario de GoogleTest está escrita en C#.
GTest TAP Listener es un detector de eventos para GoogleTest que implementa el protocolo TAP para la salida de resultados de pruebas. Si su corredor de pruebas entiende TAP, puede que le resulte útil.
gtest-parallel es un ejecutor de pruebas que ejecuta pruebas desde su binario en paralelo para proporcionar una aceleración significativa.
GoogleTest Adapter es una extensión de VS Code que permite ver GoogleTest en una vista de árbol y ejecutar/depurar sus pruebas.
C++ TestMate es una extensión de VS Code que permite ver GoogleTest en una vista de árbol y ejecutar/depurar sus pruebas.
Cornichon es un pequeño analizador DSL de Gherkin que genera código auxiliar para GoogleTest.
Lea CONTRIBUTING.md
para obtener detalles sobre cómo contribuir a este proyecto.
¡Feliz prueba!