Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/133.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 创建不带通配符的gtest筛选器_C++_C++11_Googletest - Fatal编程技术网

C++ 创建不带通配符的gtest筛选器

C++ 创建不带通配符的gtest筛选器,c++,c++11,googletest,C++,C++11,Googletest,有可能创建一个没有通配符的GoogleTest过滤器吗 我有一个测试套件TestSuiteA TEST_P(TestSuiteA, Blabla) { // ... } INSTANTIATE_TEST_CASE_P(Apple, TestSuiteA, testing::Combine(...)); INSTANTIATE_TEST_CASE_P(Ananas, TestSuiteA, testing::Combine(...)); 还有第二个测试套件TestSuiteB TEST

有可能创建一个没有通配符的GoogleTest过滤器吗

我有一个测试套件TestSuiteA

TEST_P(TestSuiteA, Blabla) {
   // ...
}

INSTANTIATE_TEST_CASE_P(Apple, TestSuiteA, testing::Combine(...));

INSTANTIATE_TEST_CASE_P(Ananas, TestSuiteA, testing::Combine(...));
还有第二个测试套件TestSuiteB

TEST_P(TestSuiteB, Kokoko) {
   // ...
}

INSTANTIATE_TEST_CASE_P(Apple, TestSuiteB, testing::Combine(...));

INSTANTIATE_TEST_CASE_P(Ananas, TestSuiteB, testing::Combine(...));
我确切地知道要启动哪些测试,所以我不想使用通配符

我的过滤器

Apple/TestSuiteA:Apple/TestSuiteB
但它不工作->要启动0个测试

但是有了这个

Apple/TestSuiteA.*:Apple/TestSuiteB.*
它起作用了

这是什么意思?为什么没有它就不能工作


谢谢

每个测试都需要一个唯一的名称,而您没有提供准确的名称。这就是为什么没有运行任何测试。确保您知道测试的确切名称-您可以使用
--gtest\u list\u tests
列出给定测试可执行文件中定义的所有测试用例。然后使用与
--gtest_filter
隔开的确切名称:。要了解如何运行多个测试的更多信息,请参见。

在我的示例中,.*应替换为.Blabla/0和.koko/0。解决方案应为:Apple/TestSuiteA.blablabla/0:Apple/TestSuiteB.Kokoko/0(其中0是参数化测试的编号(取决于“组合”部分中定义的组合)