Я пытаюсь написать функцию / метод для своего проекта, который спросит у пользователя, какие все тестовые примеры вы собираетесь запустить? Это похоже на ниже ...,
Test_Cases_1
|_TestNo1
|_TestNo2....so on
Test_Cases_2
|_TestNo1
|_TestNo2....so on
....
....so on
Test_Cases_N
|_TestNo1
|_TestNo2....so on
Итак, теперь проблема в том, что при запуске проекта он должен подсказывать мне, какие все тестовые примеры вы хотели бы выполнить? Если я выберу Test_Cases_1
и Test_Cases_N
. Затем он должен выполнить эти два тестовых примера и исключить все остальные из Test_Cases_2 to ....
. В окне результатов я также хотел бы увидеть результаты Test_Cases_1
и Test_Cases_N
.
Итак, если я увижу GoogleTest, это вызовет метод test_case_to_run_count()
; Но все test cases
они регистрируются методом Test_F (). Итак, я провел много анализа, но так и не нашел решения. Пожалуйста, помогите мне.
источник
Tree
вTestCases
иTestNo
. Как думаете--gtest_filter=..
, поможет?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();...}
Но он печатает только Testcase и TestNo. и но он не запускает тесты. Итак, как мне теперь запустить тесты?Обобщая ответы @Rasmi Ranjan Nayak и @nogard и добавляя еще один вариант:
На консоли
Вы должны использовать флаг
--gtest_filter
, например(Вы также можете сделать это в Свойства | Свойства конфигурации | Отладка | Аргументы команд)
Об окружающей среде
Вы должны установить переменную
GTEST_FILTER
какО коде
Вы должны установить флаг
filter
, напримертак что ваша основная функция становится чем-то вроде
См. Раздел « Выполнение подмножества тестов» для получения дополнительной информации о синтаксисе строки, которую вы можете использовать.
источник
Наконец я получил ответ:
::test::GTEST_FLAG(list_tests) = true;
// Из вашей программы, а не из консоли.Если вы хотите использовать
--gtest_filter =*;
/* =*, =xyz*... etc*/
//, вам нужно использовать их в Console.Итак, мое требование - использовать их из программы, а не из консоли.
Updated:-
Наконец я получил ответ на то, чтобы обновить то же самое из программы.
Итак, спасибо за все ответы.
Вы молодцы.
источник