У меня есть проект C++, который будет состоять только из тестов Google. Этот проект ссылается на другой проект (проект, который он тестирует). У меня есть включаемая и исходная папка для файлов заголовка и реализации. Я создаю классы тестовых приспособлений Google и разделяю заголовок и реализацию на включаемые и исходные папки. У меня есть main.cpp, который содержит следующий код:
//main.cpp
#include "../inc/zeroEstimatorTest.h"
#include "gtest/gtest.h"
int main(int argc, char **argv)
{
::testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();
}
Проблема, с которой я сталкиваюсь, заключается в том, что вызов RUN_ALL_TESTS()
не вызывает мое тестовое приспособление Google. Тестовое приспособление находится в реализации тестового класса. Это выглядит так:
//zeroEstimatorTest.cpp
class zeroEstimatorTest : public ::testing:Test
{
...
};
TEST_F(zeroEstimatorTest, zeroTest)
{
...
}
Проект собирается и запускается, но результат следующий:
[0;32m[==========] [mRunning 0 tests from 0 test cases.
[0;32m[==========] [m0 tests from 0 test cases ran. (0 ms total)
[0;32m[ PASSED ] [m0 tests.
В настоящее время я использую Eclipse (впервые) и работаю на машине с Linux 64.
Что я сделал:
- Класс zeroEstimatorTest включает
"zeroEstimatorTest.h"
вверху. #include "gtest/gtest.h"
находится вверху всех трех файлов (main.cpp, zeroEstimatorTest.h и zeroEstimatorTest.cpp).
Кто-нибудь может помочь?
Большое спасибо!