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

新手上路,请多包涵

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

直接包含 .cpp 文件是一种选择。使用标题似乎什么都不做……

欢迎任何帮助

原文由 Killrazor 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 531
1 个回答

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

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

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

原文由 Wayne Johnston 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题