GoogleTest run_all_tests找不到测试装置

时间:2015-07-06 20:05:27

标签: c++ googletest

我有一个C ++项目,它将仅由谷歌测试组成。该项目引用另一个项目(它正在测试的项目)。我有一个包含头文件和实现文件的源文件夹。我正在创建谷歌测试夹具类,并将标题和实现拆分为包含和源文件夹。我有一个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()电话没有调用我的谷歌测试夹具。测试夹具位于测试类的实现中。它看起来像这样:

//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)

有人可以帮忙吗?

非常感谢!

1 个答案:

答案 0 :(得分:-1)

问题是你没有设置测试过滤器名称尝试使用--gtest_filter初始化google测试=可以使用main函数参数完成。