我有一个参数化测试,我使用 SetUpTestCase()函数,如下所示:
class SimulationTest : public ::testing::TestWithParam<SimulationTestParameters> {
public:
static void SetUpTestCase() {
-----> SimulationTestParameters params = GetParam();
...
}
.... more code ...
}
我想从那里调用 GetParam()函数,但由于 SetUpTestCase()是静态的,我收到此错误:
无法调用成员函数'... GetParam()...'无对象:
SimulationTestParameters params = GetParam();
_____________________________________ ^
无法从静态功能中访问参数吗? 我还尝试在标准构造函数中获取参数值,但静态函数无法访问构造函数中的非静态变量集。
任何帮助都将不胜感激。
最佳,
罗密欧
答案 0 :(得分:0)
您可能没有做您想做的事。
SetupTestCase是静态的,因为每个测试夹具都会调用它一次,因此从那里获取单个测试用例参数毫无意义。
每个 test 调用一次安装程序,因此您可以在其中为特定测试用例运行时从那里调用GetParam。