假设我有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;
}
答案 0 :(得分:2)
编译此程序时,您将获得一个可执行文件,我将调用program
。
现在,如果您使用program
(https://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
请注意,您也可以应用通配符。要获取所有选项的列表,请尝试:
程序 - 帮助