【问题标题】:How to run TEST functions in Google Test API如何在 Google Test API 中运行 TEST 函数
【发布时间】:2020-12-23 20:19:41
【问题描述】:

我正在关注本教程,但我不完全了解 TEST 函数是如何执行的

https://www.bogotobogo.com/cplusplus/google_unit_test_gtest.php

示例代码在这里:

#include "gtest/gtest.h"
#include "simplemath.h"

TEST(testMath, myCubeTest)
{
    EXPECT_EQ(1000, cubic(10)); 
}

TEST 函数是否被 API 自动调用? 如果有多个TEST 函数怎么办?

我有一些外部代码有多个 TEST 函数,我需要从 GTest 之外的另一个可执行文件调用它们。我能够包含该项目,但不知道如何调用 TEST 函数。

有什么方法可以让我从另一段代码手动调用TEST

我看到 TEST 在 gtest.h 中被定义为 GTEST_TEST 但我看不到 GTEST_TEST 的定义位置。 main 函数在哪里?是在gtest api 的某个地方吗?

谢谢,

【问题讨论】:

    标签: c++ unit-testing googletest


    【解决方案1】:

    你不需要写main。来自docs

    大多数用户不需要编写自己的 main 函数,而是使用 gtest_main(而不是 gtest)链接,它定义了一个合适的入口点。

    但是你可以过滤,看这个answer

    int main(int argc, char **argv) {
        ::testing::InitGoogleTest(&argc, argv);
        ::testing::GTEST_FLAG(filter) = "Test_Cases1*";
        return RUN_ALL_TESTS();
    }
    

    您会在该答案上获得更多选择。

    【讨论】:

      猜你喜欢
      • 2021-02-08
      • 2018-07-16
      • 1970-01-01
      • 1970-01-01
      • 2020-11-04
      • 1970-01-01
      • 2016-04-01
      • 1970-01-01
      • 2021-11-04
      相关资源
      最近更新 更多