Im использованием GTEST в качестве испытательной базы для моего проекта, и мне нужно использовать следующее значение параметра, который передается в качестве параметра GTEST внутри тестаИспользование GTEST конкретных параметров внутри TestCase
./gtest_bin --gtest_repeat=5
в настоящее время, что я делаю, я создал пользовательский Слушатель простиралась от «EmptyTestEventListener» и передать значение итерации к глобальной переменной, когда обратный вызов следующей функции получен следующим образом,
customListener класса
class customListener : public testing::EmptyTestEventListener
{
customListener(int *iteration) : m_iteration(iteration) {}
virtual void OnTestIterationStart(const testing::UnitTest& unit_test, int iteration)
{
*m_iteration = iteration;
}
}
главный
int g_iteration;
int main(int argc, char **argv)
{
testing::InitGoogleTest(&argc, argv);
if(argc > 1)
g_array_length = atoi(argv[1]);
testing::TestEventListeners& listners = testing::UnitTest::GetInstance()->listeners();
listners.Append(new printers::customListener(&g_iteration));
return RUN_ALL_TESTS();
}
Есть более простой способ, чтобы получить значение этого параметра GTEST?
Если обобщен, есть ли способ получить какое-либо конкретное значение параметра, которое может использоваться внутри тестового теста?
Есть ли 'g_iteration' и' g_array_length' то же самое? – PiotrNycz
'g_array_length' - полностью отдельная переменная, вы можете ее игнорировать – BAdhi