如何在--gtest_filter中指定多个排除过滤器?


83

问题是关于google-test框架。我想根据多个排除过滤器来运行排除某些测试的所有测试,例如: --gtest_filter=-ABC.*:-BCD.*

Answers:


123

您将模式分组 --gtest_filter=POSTIVE_PATTERNS[-NEGATIVE_PATTERNS]

所以在这种情况下 --gtest_filter=-ABC.*:BCD.*


5
大。我花了一段时间才知道分组的含义以及OP示例和答案之间的确切区别。注意,“-”字符是影响两个表达式的单个字符。另一方面,op在每个表达式中添加“-”字符。
Paulo Neves

8

请参阅https://blogs.msdn.microsoft.com/taxiahou/2013/07/30/the-usage-of-running-a-subset-of-tests-in-google-test-framework-gtest_filter/。您可以在此处找到清晰的示例。

排除项以“-”号标识。您可以说多个以:分隔。无需重复-:。

--gtest_filter=-*str* :这将运行不包含字符串“ str”的测试。

--gtest_filter=-*str1*:*str2* :这将运行不包含“ str1”或“ str2”的测试:

--gtest_filter=*str*:-*str1*:*str2* :这将运行包含str且不包含str1或str2的测试。

因此,后跟“-”的任何内容都将计入排除列表。

所以,在您的情况下 --gtest_filter=-ABC.*:BCD.*

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.