2

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

我怎样才能只运行 A 测试?我有这个 main.cpp 用于执行所有可用的单元测试。

这个页面推荐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;
}
4

1 回答 1

2

当你编译这个程序时,你会得到一个我将调用的可执行文件program

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

程序 --gtest_filter=A

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

程序——帮助

于 2013-06-13T17:55:24.283 回答