Solución:
Puede utilizar opciones avanzadas para ejecutar pruebas de Google.
Para ejecutar solo algunas pruebas unitarias, puede usar --gtest_filter=Test_Cases1*
opción de línea de comando con valor que acepta la *
y ?
comodines para hacer coincidir con varias pruebas. Creo que solucionará tu problema.
UPD:
Bueno, la pregunta era cómo correr casos de prueba específicos. La integración de gtest con su GUI es otra cosa, que realmente no puedo comentar, porque no proporcionó detalles de su enfoque. Sin embargo, creo que el siguiente enfoque podría ser un buen comienzo:
- Obtenga todos los casos de prueba ejecutando pruebas con
--gtest_list_tests
- Analice estos datos en su GUI
- Seleccione los casos de prueba que desee ejecutar
- Ejecutar ejecutable de prueba con opción
--gtest_filter
Resumiendo las respuestas de @Rasmi Ranjan Nayak y @nogard y agregando otra opción:
En la consola
Deberías usar la bandera --gtest_filter
, igual que
--gtest_filter=Test_Cases1*
(También puede hacer esto en Propiedades | Propiedades de configuración | Depuración | Argumentos de comando)
En el medio ambiente
Deberías establecer la variable GTEST_FILTER
igual que
export GTEST_FILTER = "Test_Cases1*"
En el código
Deberías poner una bandera filter
, igual que
::testing::GTEST_FLAG(filter) = "Test_Cases1*";
de modo que su función principal se convierta en algo así como
int main(int argc, char **argv) {
::testing::InitGoogleTest(&argc, argv);
::testing::GTEST_FLAG(filter) = "Test_Cases1*";
return RUN_ALL_TESTS();
}
Consulte la sección Ejecución de un subconjunto de las pruebas para obtener más información sobre la sintaxis de la cadena que puede utilizar.
Finalmente obtuve una respuesta
::test::GTEST_FLAG(list_tests) = true;
// Desde su programa, no desde la consola.
Si desea utilizar --gtest_filter =*;
/* =*, =xyz*... etc*/
// Necesitas usarlos en Console.
Entonces, mi requisito es usarlos desde el programa, no desde la consola.
Updated:-
Finalmente obtuve la respuesta para actualizar el mismo desde el programa.
::testing::GTEST_FLAG(filter) = "*Counter*:*IsPrime*:*ListenersTest.DoesNotLeak*";//":-:*Counter*";
InitGoogleTest(&argc, argv);
RUN_ALL_TEST();
Entonces, gracias por todas las respuestas.
Ustedes son geniales.