在SetUpTestCase中使用GetParam()

问题描述 投票:1回答:1

我有一个参数化测试,在其中使用SetUpTestCase()函数,如下所示:

class SimulationTest : public ::testing::TestWithParam<SimulationTestParameters> {
    public:
    static void SetUpTestCase() {
----->   SimulationTestParameters params = GetParam();
         ...
    }
    .... more code ... 
}

我想从那里调用GetParam()函数,但是由于SetUpTestCase()是静态的,因此出现此错误:

无法在没有对象的情况下调用成员函数'... GetParam()...':SimulationTestParameters params = GetParam();_____________________________________ ^

是否没有办法从静态函数访问参数?我也尝试在标准构造函数中获取参数值,但是静态函数无法访问构造函数中设置的非静态变量。

任何帮助将不胜感激。

最好,罗密欧

c++ googletest
1个回答
0
投票
test Fixture都被调用一次,因此从那里获取单个测试用例参数毫无意义。

每个

test调用一次安装程序,因此您可以在其中为特定测试用例运行时从那里调用GetParam。

© www.soinside.com 2019 - 2024. All rights reserved.