GoogleTest run_all_tests не находит тестовые приборы

У меня есть проект 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).

Кто-нибудь может помочь?

Большое спасибо!


person supraMan    schedule 06.07.2015    source источник


Ответы (1)


Проблема в том, что вы не устанавливаете имя фильтра тестов, попробуйте инициализировать тест Google с помощью --gtest_filter=, это можно сделать, используя основные параметры функции.

person Anis Belaid    schedule 06.07.2015
comment
Я попытался добавить --gtest_filter=* к аргументам конфигурации отладки внутри Eclipse, и это не решило проблему. Я что-то сделал не так? В противном случае я также просмотрел руководство по тестированию Google, и в нем говорится следующее: по умолчанию программа Google Test запускает все тесты, определенные пользователем. - person supraMan; 06.07.2015
comment
Убедитесь, что файл zeroestimatetest.cpp скомпилирован с вашей тестовой программой, это может быть причиной вашей проблемы - person Anis Belaid; 07.07.2015