INSTANTIATE_TEST_CASE_P(prefix, fixture, generator)
регистрирует тесты, которые должны быть выполнены для каждого параметризованного тестового примера, который использует тот же тип fixture
.prefix
используется только в именах зданий для параметризованных тестов, которые появляются в выходных данных и могут использоваться с аргументом командной строки --gtest-filter
.
Так что, если вы хотите Test1
и Test2
чтобы работать с разными наборами значений параметров, вам нужно заставить их быть разными типами приборов:
// ...
struct MyFixtureForTest1 : public MyFixtureWithNumber {};
struct MyFixtureForTest2 : public MyFixtureWithNumber {};
TEST_P(MyFixtureForTest1, Test1)
{
std::cout << "Test1 with param: " << GetParam() << std::endl;
}
INSTANTIATE_TEST_CASE_P(SmallValues, MyFixtureForTest1, ::testing::Values(0,3));
TEST_P(MyFixtureForTest2, Test2)
{
std::cout << "Test2 with param: " << GetParam() << std::endl;
}
INSTANTIATE_TEST_CASE_P(LargeValues, MyFixtureForTest2, ::testing::Values(5, 7));