GTEST : 如何将数组列表作为参数传递到 ValuesIn of INSTANTIATE_TEST_CASE_P?



我想将整数数组列表作为容器传递给 GTEST 中的参数化类。

例如:-

const int* par_Array[] = {
{ 1, 869, 1200, 1300 },
{ 1, 1, 1, 1 }
};
class testSafetyInterface_failingTestForTargetArrayBoundaryVal :
public testSafetyInterface,
public ::testing:: WithParamInterface<int* []>{
};
INSTANTIATE_TEST_CASE_P(
testSafetyInterface_failBoundaryTest,
testSafetyInterface_failingTestForTargetArrayBoundaryVal,
::testing::ValuesIn(par_Array));

但是我无法理解这样做的语法和文档。

如果能在这里得到任何帮助,将不胜感激。提前感谢!

  1. const int* par_Array[]是标量对象,因此无法进行多支撑初始化。
  2. ValuesIn的参数是const T (&array)[N],因此您需要传递类型T的数组

如果T的类型是int数组初始化看起来很简单,

int par_Array[] = {1, 869, 1200, 1300 , 1, 1, 1, 1 }; //i.e list of possible input values

如果T类型为int*[]则指针数组应作为参数。par_Array初始化如下所示,

int a1[]{};
int a2[]{};
int a3[]{};    
int * par_Array[] = {a1,a2,a3};

最新更新