Как указать несколько фильтров исключения в --gtest_filter?

87

Речь идет о фреймворке google-test. Я хочу запустить все тесты, за исключением некоторых, в соответствии с несколькими фильтрами исключения, например: --gtest_filter=-ABC.*:-BCD.*

бездна.7
источник

Ответы:

130

Вы группируете выкройки в форме --gtest_filter=POSTIVE_PATTERNS[-NEGATIVE_PATTERNS]

Итак, в этом случае вы хотите --gtest_filter=-ABC.*:BCD.*

Fraser
источник
5
Отлично. Мне потребовалось некоторое время, что означает группировка и точная разница между примером OP и ответом. Обратите внимание, что символ «-» - это единственный символ, который влияет на оба выражения. Оператор op, с другой стороны, добавляет к каждому выражению символ «-».
Пауло Невес
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.*

Гимхани
источник