c++ - 在谷歌测试中跨多个文件分离测试用例

标签 c++ googletest

我是谷歌测试 C++ 框架的新手。它很容易使用,但我想知道如何将案例分成多个测试文件。最好的方法是什么?

直接包含 .cpp 文件是一种选择。使用 header 似乎无济于事...

欢迎任何帮助

最佳答案

创建一个只包含运行测试的主文件。

// AllTests.cpp
#include "gtest/gtest.h"

int main(int argc, char **argv)
{
    testing::InitGoogleTest(&argc, argv);
    return RUN_ALL_TESTS();
}

然后将测试放入其他文件中。您可以在一个文件中放置任意数量的测试。为每个类或每个源文件创建一个文件效果很好。

// SubtractTest.cpp
#include "subtract.h"
#include "gtest/gtest.h"

TEST(SubtractTest, SubtractTwoNumbers)
{
    EXPECT_EQ(5, subtract(6, 1));
}

这确实要求所有测试都可以共享同一个主目录。如果你必须在那里做一些特别的事情,你将不得不有多个构建目标。

关于c++ - 在谷歌测试中跨多个文件分离测试用例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7443970/

相关文章:

c++ - 一个数的2个因数组成一组有多少种方法? (C/C++)

c++ - 编写谷歌测试的最佳实践是什么?

c++ - 如何使用带有 msys 的 mingw 在 Windows 上编译 googletest?

c++ - "no rule to make target"由另一个 makefile 创建的目标

c++ - STL Map 或 HashMaps 线程安全吗?

C++:不使用虚函数的接口(interface)/实现解耦?

c++ - Child 的对齐小于 Base 的对齐

C++ Autotools Google 测试框架

c++ - 在eclipse : how?中使用googletest

c++ - 如何模拟任意大小的 vector ?