Я не знаю тестовый фреймворк Google, так что может быть лучший способ сделать это, но это должно сделать:
//---------------------------------------------
// some_header.h
extern int my_argc;
extern char** my_argv;
// eof
//---------------------------------------------
//---------------------------------------------
// main.cpp
int my_argc;
char** my_argv;
int main(int argc, char** argv)
{
::testing::InitGoogleTest(&argc, argv);
my_argc = argc;
my_argv = argv;
return RUN_ALL_TESTS();
}
// eof
//---------------------------------------------
//---------------------------------------------
// test.cpp
#include "some_header.h"
TEST(SomeClass, myTest)
{
// Here you can access my_argc and my_argv
}
// eof
//---------------------------------------------
Глобальные переменные не очень красивы, но когда у вас есть только тестовая среда, которая не позволит вам туннелировать некоторые данные из main()
на любые тестовые функции, которые у вас есть, они выполняют свою работу.