使用googletest有选择地执行单元测试

时间:2013-06-13 17:50:32

标签: c++ unit-testing googletest

假设我有A,B,C类,每个都有自己的gtest单元测试。

如何只运行A测试?我有这个main.cpp来执行所有可用的单元测试。

This page建议在类名前面使用DISABLED_,但它要求我更改测试代码的许多部分。

我想可能有更好的方法来控制运行或未运行的测试。

#include <iostream>
#include <gtest/gtest.h>

int main(int argc,  char ** argv)
{
    std::cout << "Running main() from gtest_main.cc\n";

    testing::InitGoogleTest(&argc, argv);
    return RUN_ALL_TESTS(); // <-- return "RUN_XYZ_TEST()" ???

    return 0;
}

1 个答案:

答案 0 :(得分:2)

编译此程序时,您将获得一个可执行文件,我将调用program

现在,如果您使用programhttps://github.com/google/googletest/blob/master/googletest/docs/advanced.md#listing-test-names)致电--gtest_list_tests,您将获得所有可以运行的测试。如果您想运行特定的一个(如示例中的测试A),只需将您的应用程序称为(https://github.com/google/googletest/blob/master/googletest/docs/advanced.md#running-a-subset-of-the-tests):

  

program --gtest_filter = A

请注意,您也可以应用通配符。要获取所有选项的列表,请尝试:

  

程序 - 帮助