Настройка Google Test для запуска через плагин C / C ++ Test Runner в Eclipse в Ubuntu 12.04

Вот что я попробовал:

В свойствах проекта я включил libgtest_main.a и libgtest.a на вкладке libaries.

В конфигурациях запуска на вкладке Модуль C ++ я установил тестирование C / C ++ на 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.

Надеюсь, что кто-то может помочь — я занимался этим часами, и мне кажется, что я упустил нечто простое.

3

Решение

У меня была похожая проблема, и я решил ее, запустив этот скрипт

       ./scripts/fuse_gtest_files.py . /yourprojectdir/

он присутствует в том месте, где вы установили тестовый фреймворк Google (т.е. /tmp/gtest-1.5.0)

Я не знаю, является ли это лучшим решением, но оно сработало для меня.

2

Другие решения

У меня были подобные проблемы в последнее время.

Сначала, чтобы избавиться от синтаксических ошибок и проблем, которые «не могли быть решены», я изменил настройки индексатора C ++ в Eclipse — это помогло просто изменить один из параметров, нажать «Применить», а затем вернуться к исходным и затем нажать «ОК».

Далее, в случае запуска тестов внутри затмения. Обратите внимание, что вам нужно установить конфигурацию запуска в двоичный файл с основной функцией, которая запускает тесты (одна из них предоставлена ​​вами). Вероятно, если вы сделали тесты частью вашего другого проекта, у которого уже есть точка входа, а затем вы установили, что это бинарный код, а не тестовый. Поскольку вы не можете собрать проект с двумя основными функциями, необходимо выполнить некоторую фильтрацию исходных файлов, чтобы иметь независимую конфигурацию сборки для вашего основного приложения и другую для тестов. К сожалению, я сделал это еще.

Эти сообщения в блоге могут быть полезны для вас:

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

Они мне очень помогли на эту тему.

0