Как отменить регистрацию тестового примера и как зарегистрировать конкретный тестовый пример в Gtest

в gtets, как мы знаем, момент управления находит TEST или TEST_F функцию, она registers test cases превращается в gtest. Но согласно моему требованию, после того, как gtest зарегистрирует все тестовые случаи, мне нужно найти, есть ли testcasename в списке или нет? Если tesetcasename есть, то мне нужно отменить регистрацию всех тестовых случаев и зарегистрировать только найденный testcasename. Как это сделать??? Предполагать

TEST_F(testcasename, testname){}
TEST_F(testcasename1, testname1){}
TEST_F(testcasename3, testname3){}
..
..
TEST_F(testcasenameN, testnameN){}

Предположим, я ищу "testcasename3" в каталоге registered testcasename. и это доступно. Теперь я хочу, чтобы gtest выполнял только найденный тестовый набор, а не все...

Как это сделать?

Любой ответ приветствуется


person Rasmi Ranjan Nayak    schedule 21.01.2013    source источник


Ответы (1)


Это можно сделать с помощью командной строки, как описано в расширенном руководстве, поэтому

./foo_test --gtest_filter=testcasename3.*

будет запускать только testcasename3 и все его тесты. Синтаксис командной строки обширен, тесты и могут быть включены и исключены с использованием подстановочных знаков. См. дополнительную документацию. для получения дополнительной информации

person Harald Scheirich    schedule 21.01.2013
comment
По моему требованию я не должен использовать фильтр, в котором я должен отменить регистрацию, а затем зарегистрировать тестовые случаи. - person Rasmi Ranjan Nayak; 21.01.2013
comment
Я не думаю, что это можно сделать, не пролистывая внутренности, afaik, google превращает каждую пару case/test в класс, этот класс создается только при выполнении, т. е. если вы фильтруете некоторые случаи, которые были отфильтрованы, регистрируются в том смысле, что gtest знает, как создать экземпляр класса, который будет запускать этот случай. Но эта реализация происходит только для пар случай/тест, которые соответствуют критериям фильтра. - person Harald Scheirich; 21.01.2013
comment
Наконец решил использовать для filter. Большое спасибо - person Rasmi Ranjan Nayak; 22.01.2013