gpt4 book ai didi

c++ - 在测试用例中使用 gtest 特定参数

转载 作者:行者123 更新时间:2023-11-30 05:27:55 27 4
gpt4 key购买 nike

我使用 gtest 作为我的项目的测试框架,我需要在测试用例中使用以下作为 gtest 参数传递的参数值

./gtest_bin --gtest_repeat=5

目前我正在做的是,我创建了一个从“EmptyTestEventListener”扩展的自定义监听器,并在收到以下函数的回调时将迭代值传递给全局变量,如下所示,

自定义监听器类

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参数值?

如果通用化,有没有办法获取可以在测试用例中使用的任何 gtest 特定参数值?

最佳答案

IMPORTANT NOTE Please use with great care - as this is not documented feature and might be changed (i.e. it might stop working) in next gtest/gmock versions.

您可以通过 ::testing::GTEST_FLAG(flag_name) 访问任何标志 - 在您的情况下 - ::testing::GTEST_FLAG(repeat)

我从这个 manual 间接得到了这个信息并通过检查 gtest.h 文件。

关于c++ - 在测试用例中使用 gtest 特定参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37019585/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com