我还有另外一个gtest,我做了以下操作并且工作正常:
TEST(TEST1, TestName)
{
ClassName env;
const String original = env(Con::WorkingDir);
Con c = env;
}
但是,我希望将其设置为另一个gtest类并保持整个测试夹具。但是,我收到此错误消息:
调用类类型的对象而没有适当的运算符或 转换函数到指针到函数类型。
我在看initialize gtest,我不确定我为此缺少了什么。它可以使用我不熟悉的静态变量。不过,我不希望ClassName是静态的。
我做错了什么?
//this is intended to setup env to use in teardown.
class TestEnvironment : public ::testing::Environment {
public:
static String getEn() {
ClassName env;
static const String sString = env(Con::WorkingDir); //env has the error message here
return sString;
}
}
class UnitTest : public ::testing::Test
{
public:
virtual void SetUp() {
//
}
virtual void TearDown() {
//set env back to initial value
getEn();
//process env info;
}
答案 0 :(得分:0)
class UnitTest : public ::testing::Test { //can't use Environment here because of name conflict in our code, although that was used by static const variable setup in example link.
public:
String orig;
}
class UnitTest : public ::testing::Test
{
public:
virtual void SetUp() {
orig = code;
}
virtual void TearDown() {
//process orig;
}
事实证明,即使我们的代码正在寻找一个const字符串,我们也不必将其保存为const。