如何将迭代编号传递到Google Test中的灯具?

问题描述

在Google测试中,我正在使用TEST_P来定义灯具。稍后,我将其用于一长串测试用例:

INSTANTIATE_TEST_CASE_P(
    MyTest,MyFixture,::testing::ValuesIn(my_parameters()));

在灯具内部,我需要能够访问当前测试用例的迭代编号。即-作为此INSTANTIATE_TEST_CASE_P的一部分运行的第三个测试用例将能够以2(或3(如果基于1的索引)访问它的迭代编号)。

我想避免在参数对象中对这些运行编号进行硬编码。

功能在Google测试中是否存在?

解决方法

您可以使用::testing::UnitTest::GetInstance()->current_test_info()->value_param()来获取反映名称的测试名称部分。

真正的问题是:为什么需要它?