C++ 设置Google测试以运行C/C++;Ubuntu 12.04上Eclipse中的测试运行程序插件

C++ 设置Google测试以运行C/C++;Ubuntu 12.04上Eclipse中的测试运行程序插件,c++,eclipse,unit-testing,googletest,cunit,C++,Eclipse,Unit Testing,Googletest,Cunit,以下是我尝试过的: 在项目属性中,我将libgtest_main.a和libgtest.a包含在libaries选项卡下 在C++单元选项卡下的运行配置中,我将C/C++测试设置为谷歌测试转轮。 在runconfigs中,在main选项卡下,C/C++应用程序被设置为在构建项目期间创建的二进制文件 我已经创建了一个测试文件夹作为项目的一部分,并在其中编写了测试 这是我的代码: #include "../src/agent.h" #include "../src/agent.cpp" #inclu

以下是我尝试过的:

在项目属性中,我将libgtest_main.a和libgtest.a包含在libaries选项卡下

在C++单元选项卡下的运行配置中,我将C/C++测试设置为谷歌测试转轮。 在runconfigs中,在main选项卡下,C/C++应用程序被设置为在构建项目期间创建的二进制文件

我已经创建了一个测试文件夹作为项目的一部分,并在其中编写了测试

这是我的代码:

#include "../src/agent.h"
#include "../src/agent.cpp"
#include "gtest/gtest.h"

TEST(AgentTest, voidConstructorWorksProperly) {
Agent testAgent = Agent();
ASSERT_EQ(0, testAgent.getBrain());
}


int main(int argc, char **argv) {
    testing::InitGoogleTest(&argc, argv);
    return RUN_ALL_TESTS();

}
测试函数出现语法错误,InitGoogleTest和RUN_ALL_测试出现“无法解决”


希望有人能帮上忙——我已经做了几个小时了,但似乎错过了一些简单的事情。

我最近也遇到过类似的问题

首先,为了消除语法错误和“无法解决”问题,我改变了Eclipse中C++索引器的偏好——它只帮助改变一个设置,点击应用程序,然后返回原来的版本,然后点击OK。 接下来,在eclipse内部运行测试的情况下。请注意,您需要将运行配置设置为二进制文件,其中包含运行测试的主函数(您提供的一个)。可能如果您将测试作为已经有入口点的其他项目的一部分,然后将其设置为二进制,而不是测试点。由于您无法使用两个主要功能构建项目,因此必须对源文件进行一些筛选,以便为您的主应用程序提供独立的构建配置,另一个用于测试。不幸的是,我还没有做到这一点

此博客文章可能对您有所帮助:


他们在这个话题上给了我很多帮助。

我遇到了一个类似的问题,通过运行这个脚本解决了它

       ./scripts/fuse_gtest_files.py . /yourprojectdir/
它出现在您安装google测试框架的地方(即/tmp/gtest-1.5.0)

我不知道这是否是最好的解决方案,但它对我有效