Googletest不运行测试夹具 我试图用GooGestEt进行C++中的单元测试。我在ClusteringTest.h中定义了一个文本固定装置: #include <gtest/gtest.h> namespace EnsembleClustering { class ClusteringTest: public ::testing::Test { ClusteringTest() {}; virtual ~ClusteringTest() {}; virtual void SetUp() { }; virtual void TearDown() { }; }; TEST_F(ClusteringTest, doesGTestWork) { EXPECT_EQ(42, 42); } } /* namespace EnsembleClustering */

Googletest不运行测试夹具 我试图用GooGestEt进行C++中的单元测试。我在ClusteringTest.h中定义了一个文本固定装置: #include <gtest/gtest.h> namespace EnsembleClustering { class ClusteringTest: public ::testing::Test { ClusteringTest() {}; virtual ~ClusteringTest() {}; virtual void SetUp() { }; virtual void TearDown() { }; }; TEST_F(ClusteringTest, doesGTestWork) { EXPECT_EQ(42, 42); } } /* namespace EnsembleClustering */,c++,unit-testing,testing,googletest,C++,Unit Testing,Testing,Googletest,结果是: running EnsembleClustering [==========] Running 0 tests from 0 test cases. [==========] 0 tests from 0 test cases ran. (1 ms total) [ PASSED ] 0 tests. 为什么我的测试没有运行?您需要将头文件ClusteringTest.h包含到某个.cpp文件中,使其具体化,并创建一个编译单元。使用CCPUnit No。我开始使用CppUnit,

结果是:

running EnsembleClustering
[==========] Running 0 tests from 0 test cases.
[==========] 0 tests from 0 test cases ran. (1 ms total)
[  PASSED  ] 0 tests.

为什么我的测试没有运行?

您需要将头文件ClusteringTest.h包含到某个.cpp文件中,使其具体化,并创建一个编译单元。

使用CCPUnit No。我开始使用CppUnit,过了一段时间,由于库中的一个bug,它崩溃了。这就是为什么我要切换到GTest。然后使用调试器-gbx或DBXY您可以链接GTest_main.lib,然后GTest库将自动执行所有测试,而无需显式的主入口点。您是如何编译的?你使用IDE吗?是的,就是这样。我试图将所有内容都放在一个头文件中,但没有实现源文件,也没有将其包含在任何地方。Peter:我也有同样的问题,但我不理解你的答案,因为我已经在一个cpp文件(没有头)中设置了测试夹具。我可以问另一个问题,但有人会认为是重复的。你能看看我的文件吗:@cls:我也有同样的问题,但我不明白这个答案,因为我已经在一个cpp文件(没有头)中设置了测试夹具。我可以问另一个问题,但有人会认为是重复的。你能看看我的档案吗:@Lucy问一个新问题,你会得到更多的人的帮助,而不仅仅是我。
running EnsembleClustering
[==========] Running 0 tests from 0 test cases.
[==========] 0 tests from 0 test cases ran. (1 ms total)
[  PASSED  ] 0 tests.