Вот что я попробовал:
В свойствах проекта я включил 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.
Надеюсь, что кто-то может помочь — я занимался этим часами, и мне кажется, что я упустил нечто простое.
У меня была похожая проблема, и я решил ее, запустив этот скрипт
./scripts/fuse_gtest_files.py . /yourprojectdir/
он присутствует в том месте, где вы установили тестовый фреймворк Google (т.е. /tmp/gtest-1.5.0)
Я не знаю, является ли это лучшим решением, но оно сработало для меня.
У меня были подобные проблемы в последнее время.
Сначала, чтобы избавиться от синтаксических ошибок и проблем, которые «не могли быть решены», я изменил настройки индексатора C ++ в Eclipse — это помогло просто изменить один из параметров, нажать «Применить», а затем вернуться к исходным и затем нажать «ОК».
Далее, в случае запуска тестов внутри затмения. Обратите внимание, что вам нужно установить конфигурацию запуска в двоичный файл с основной функцией, которая запускает тесты (одна из них предоставлена вами). Вероятно, если вы сделали тесты частью вашего другого проекта, у которого уже есть точка входа, а затем вы установили, что это бинарный код, а не тестовый. Поскольку вы не можете собрать проект с двумя основными функциями, необходимо выполнить некоторую фильтрацию исходных файлов, чтобы иметь независимую конфигурацию сборки для вашего основного приложения и другую для тестов. К сожалению, я сделал это еще.
Эти сообщения в блоге могут быть полезны для вас:
http://codetrips.blogspot.com/search/label/gtest
Они мне очень помогли на эту тему.