我使用
apt-get install libgtest-dev
安装了gtest,现在我想检查它是否正常工作。我在Eclipse中编写了一段简单的测试代码,但是出现了错误:如果我将ATest类的继承改为protected,则该错误消失,但出现了其他错误:undefined reference to 'testing::Test::~Test()'
undefined reference to 'testing::Test::Test()'
请问这是什么问题?testing::Test is inaccessible base of 'ATest_AAA_Test'
#include <iostream>
#include <gtest/gtest.h>
class A{
public:
int a;
A(int a){this->a = a;}
A(){}
~A(){}
int getA(){return a;}
void setA(int a){this->a = a;}
};
class ATest : public ::testing::Test{
public:
virtual void SetUp(){
a1 = A(1);
a2 = A(2);
a3 = A(3);
}
virtual void TearDwon(){}
A a1;
A a2;
A a3;
};
TEST_F(ATest, AAA){
EXPECT_EQ(1, a1.getA());
EXPECT_EQ(2, a2.getA());
EXPECT_EQ(3, a3.getA());
}
int main(int argc, char **argv){
::testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();
}
target_link_libraries(NodeTest ${GTEST_BOTH_LIBRARIES})
。 - Denys Vitali