105

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

4

2 回答 2

150

您将表单中的模式分组--gtest_filter=POSTIVE_PATTERNS[-NEGATIVE_PATTERNS]

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

于 2012-12-24T13:25:29.633 回答
16

请参阅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.*

于 2019-11-13T11:30:25.873 回答