3

这是我尝试过的:

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

在 C++ Unit 选项卡下的运行配置中,我将 C/C++ testing 设置为 Google Tests Runner。

在运行配置中,在主选项卡下,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();

}

我在 TEST 函数上遇到语法错误,在 InitGoogleTest 和 RUN_ALL_TESTS 上出现“无法解决”。

希望有人可以提供帮助-我已经在这几个小时了,这似乎是我错过的一些简单的事情。

4

2 回答 2

2

我有一个类似的问题并解决了它运行这个脚本

       ./scripts/fuse_gtest_files.py . /yourprojectdir/

它存在于您安装 google 测试框架的位置(即 /tmp/gtest-1.5.0)

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

于 2013-09-04T10:27:31.487 回答
0

我最近遇到了类似的问题。

首先要摆脱语法错误和“无法解决”的问题,我已经更改了 Eclipse 中 C++ 索引器的首选项——它只有助于更改其中一项设置,点击应用,然后返回原始设置,然后点击确定。

接下来,如果在 eclipse 中运行测试。请注意,您需要将运行配置设置为具有运行测试的主要功能的二进制文件(由您提供)。可能如果您将测试作为已经具有入口点的其他项目的一部分,然后您将其设置为二进制而不是测试。由于您无法使用两个主要功能构建项目,因此必须对源文件进行一些过滤,以便为您的主应用程序提供独立的构建配置,另一个用于测试。不幸的是,我已经这样做了。

这篇博文可能对您有所帮助:

http://codetrips.blogspot.com/search/label/gtest

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

于 2012-10-04T06:41:52.887 回答