谷歌测试中的共享全局对象

时间:2016-09-15 02:13:48

标签: c++ googletest

我想创建一个在多个类中的多个测试之间共享的对象(此对象需要很长时间才能创建)。

this指南和this问题后,我提出了这个问题:

static Object * model;
class MyEnvironment : public testing::Environment {

public:
    MyEnvironment(){
        model = new Object("arguments");
    }
};

主要是,我打电话给::testing::Environment* const env = ::testing::AddGlobalTestEnvironment(new MyEnvironment)。我验证了该对象已创建。 在另一个文件中,我尝试使用以下代码访问创建的对象:

#include "Environment1.h"

TEST(ModelTest, ReadParameter)
{
    Object *m = model ;
}

但是,m为空。在任何地方都没有解释如何实现共享对象,并且在数小时后尝试了一些变体,我没有选择。

提前致谢。

0 个答案:

没有答案