Im als Testrahmen für mein Projekt mit Gtest und ich brauche den folgenden Parameterwert zu verwenden, die als Gtest Parameter innerhalb des Testfall übergeben wirdMit Gtest spezifischen Parameter im Testfall
./gtest_bin --gtest_repeat=5
derzeit, was ich tue ist, habe ich verlängert einen benutzerdefinierten Listener erstellt von „EmptyTestEventListener“ und die Iteration Wert auf eine globale Variable übergeben, wenn der Rückruf an die folgende Funktion, wie folgend empfangen wird,
customListener Klasse
class customListener : public testing::EmptyTestEventListener
{
customListener(int *iteration) : m_iteration(iteration) {}
virtual void OnTestIterationStart(const testing::UnitTest& unit_test, int iteration)
{
*m_iteration = iteration;
}
}
Haupt
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();
}
Gibt es einen einfacheren Weg, um diesen Gtest Parameterwert zu erhalten?
Wenn generalisiert, gibt es eine Möglichkeit, einen gtestspezifischen Parameterwert zu erhalten, der in einem Testfall verwendet werden kann?
Sind 'g_iteration' und' g_array_length' die gleichen? – PiotrNycz
'g_array_length' ist eine separate Variable, Sie können sie ignorieren – BAdhi