如何在testWithParam参数中构造向量或列表

时间:2019-06-28 13:36:08

标签: c++ googletest

我是Google测试的新手。
为了测试类方法,我创建了带有必要变量的结构

这是我正在研究的示例模型。

    struct A {
    int a;
    int b;

    A(int _a, int _b) : a(_a), b(_b){}

    };

    struct B : public A {
     bool btest;

    B( A _aStruct, bool _b) : A(_Struct), btest(_b) {}

    };

    struct C : public B {

    std::vector<int> xVec;

    C(B _bStruct, std::vector<int>_xVec) : B(_bStruct) , xVec(_xVec){}
    };

    class Test : public classToTest , public testing::TestWithParam<C>
    {
     void SetUp()
    {
     //.....
    }

    };

    //Instantiate the test case with Parameters
    INSTANTIATE_TEST_CASE_P(Sampletest , Test, Values (B(1, 2, true), std::vector<int>(10,12,11)));

TEST_P(Test, TestSample )
{
 ...

}

在向量构造中出现错误。 如何获取在TestWithParam中构造的向量或列表???

对于结构B,INSTANTIATE_TEST_CASE_P无需向量即可工作。

1 个答案:

答案 0 :(得分:0)

向量初始化错误。它必须与std :: vector {10,12,11}一起安装。

感谢@YSC