【发布时间】:2014-06-10 15:59:26
【问题描述】:
我使用 apt-get install libgtest-dev 安装了 gtest
我正在尝试检查它是否有效。
所以我编写了简单的代码在 Eclipse 中进行测试。
但是有错误,
对'testing::Test::~Test()'的未定义引用
未定义参考 到'testing::Test::Test()'
相反,如果我将 ATest 类的继承更改为受保护,错误就会消失,但是
另一个错误发生
testing::Test 是 '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();
}
【问题讨论】:
标签: c++ unit-testing googletest