Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ GTEST:重置以前的GetParam()值_C++_C_Googletest_Parameterized - Fatal编程技术网

C++ GTEST:重置以前的GetParam()值

C++ GTEST:重置以前的GetParam()值,c++,c,googletest,parameterized,C++,C,Googletest,Parameterized,我正在使用GTEST框架编写一个参数化测试。我想重置通过GetParam()传递给TEST_P的先前值。 在下面的代码中,gp.expected应该返回0,1,0,但它返回0,1,1 代码snipet: class TestInput { public: bool validate; int input; int expected; TestInput(bool validate, int input, int expected) { this->valida

我正在使用GTEST框架编写一个参数化测试。我想重置通过GetParam()传递给TEST_P的先前值。 在下面的代码中,gp.expected应该返回0,1,0,但它返回0,1,1

代码snipet:

class TestInput
{
public:
bool validate;
int  input;
int  expected;

TestInput(bool validate, int input, int expected)
{        
    this->validate = validate;
    this->input = input;
    this->expected = expected;
}    
};

    //[TRIMMED THE CODE] ...

   TEST_P(TestCase, nameTest)
   {
    TestInput gp = GetParam();
    printf("\n %d,", gp.expected); //Output 0,1,1 ???
   }

#define TestCase_TestData \
::testing::Values( \
TestInput(TRUE, 0, 0), \
TestInput(FALSE, 0, 1), \
TestInput(FALSE, 0, 0) \
)
INSTANTIATE_TEST_CASE_P(TestCase, TestCase, TestCase_TestData);
提前谢谢


Pritish

我试过你的代码,它对我来说很好,只需对布尔值使用小写文字,即标准值。确保您没有
使用namespace::testing以便您的
TestCase
::testing::TestCase
冲突。