我有一个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.h"
。#include "gtest/gtest.h"
位于所有三个文件的顶部(main.cpp,zeroEstimatorTest.h和zeroEstimatorTest.cpp)有人可以帮忙吗?
非常感谢!
答案 0 :(得分:-1)
问题是你没有设置测试过滤器名称尝试使用--gtest_filter初始化google测试=可以使用main函数参数完成。