如何将“价值”与“组合”结合起来?

Иго*_*чев 2 c++ googletest c++17

我想为笛卡尔积添加一些特殊的值。像这样的东西:

INSTANTIATE_TEST_SUITE_P(Test, Test, 
    testing::Values(
        testing::Combine(
            testing::Values(1, 2, 3), 
            testing::Values("one", "two", "three")),
        testing::Values(std::make_tuple(12345, "big value"))));
Run Code Online (Sandbox Code Playgroud)

但这不起作用。还有其他工作方法可以做到吗?

Yks*_*nen 6

您可以进行两个实例化:

INSTANTIATE_TEST_SUITE_P(TestSanity, Test, 
    testing::Combine(
        testing::Values(1, 2, 3), 
        testing::Values("one", "two", "three")));

INSTANTIATE_TEST_SUITE_P(TestSpecial, Test, 
    testing::Values(std::make_tuple(12345, "big value")));
Run Code Online (Sandbox Code Playgroud)

Combine()接受其他生成器作为输入,但这是不可取的。但是,通过使用两个单独的宏调用,从测试中生成两个测试套件,可以轻松解决该问题。网上看到的