Próbuję napisać funkcję / metodę dla mojego projektu, która zapyta użytkownika, które wszystkie przypadki testowe zamierzasz uruchomić? Wygląda jak poniżej ...,
Test_Cases_1
|_TestNo1
|_TestNo2....so on
Test_Cases_2
|_TestNo1
|_TestNo2....so on
....
....so on
Test_Cases_N
|_TestNo1
|_TestNo2....so on
Więc teraz wyzwanie polega na tym, że podczas uruchamiania projektu powinno mnie podpowiedzieć, jakie wszystkie przypadki testowe chciałbyś wykonać? Jeśli wybiorę Test_Cases_1
i Test_Cases_N
. Następnie powinien wykonać te dwa przypadki testowe i wykluczyć wszystkie inne z Test_Cases_2 to ....
. W oknie wyników chciałbym również zobaczyć wyniki Test_Cases_1
i Test_Cases_N
.
Jeśli więc zobaczę GoogleTest, jest metoda o nazwie test_case_to_run_count()
; Ale wszystkie test cases
są rejestrowane metodą Test_F (). Zrobiłem więc wiele analiz, ale nadal nie znalazłem żadnego rozwiązania. Proszę pomóż mi.
źródło
Tree
zTestCases
iTestNo
. Więc myślisz, że--gtest_filter=..
pomoże?int main(int argc, char **argv) { //::testing::GTEST_FLAG(list_tests) = true; // For Testing InitGoogleTest(&argc, argv); ::testing::GTEST_FLAG(list_tests) = true; ........ RUN_ALL_TEST();...}
Ale drukuje tylko Testcase i TestNo. i ale nie uruchamia testów. Jak więc mogę teraz przeprowadzić testy?Podsumowując odpowiedzi @Rasmi Ranjan Nayak i @nogard oraz dodając kolejną opcję:
Na konsoli
Powinieneś użyć flagi
--gtest_filter
, na przykład(Możesz to również zrobić w Właściwości | Właściwości konfiguracji | Debugowanie | Argumenty polecenia)
Na środowisko
Powinieneś ustawić zmienną
GTEST_FILTER
jakNa kodzie
Powinieneś ustawić flagę
filter
, na przykładtak, że twoja główna funkcja staje się czymś podobnym
Zobacz sekcję Uruchamianie podzbioru testów, aby uzyskać więcej informacji na temat składni łańcucha, którego możesz użyć.
źródło
W końcu otrzymałem odpowiedź:
::test::GTEST_FLAG(list_tests) = true;
// Z twojego programu, a nie z konsoli.Jeśli chcesz użyć
--gtest_filter =*;
/* =*, =xyz*... etc*/
//, musisz ich użyć w Console.Tak więc moim wymaganiem jest używanie ich z programu, a nie z konsoli.
Updated:-
W końcu dostałem odpowiedź na aktualizację tego samego w programie.
Więc dziękuję za wszystkie odpowiedzi.
Jesteście wspaniali.
źródło