Jak określić wiele filtrów wykluczania w --gtest_filter?

87

Pytanie dotyczy struktury testów Google. Chcę uruchomić wszystkie testy z wyłączeniem niektórych według wielu filtrów wykluczających, takich jak: --gtest_filter=-ABC.*:-BCD.*

przepaść 7
źródło

Odpowiedzi:

130

Grupujesz wzory w formularzu --gtest_filter=POSTIVE_PATTERNS[-NEGATIVE_PATTERNS]

Więc w tym przypadku chcesz --gtest_filter=-ABC.*:BCD.*

Fraser
źródło
5
Świetny. Zajęło mi trochę czasu, co oznaczało grupowanie i dokładną różnicę między przykładem PO a odpowiedzią. Zwróć uwagę, że znak „-” to pojedynczy znak, który wpływa na oba wyrażenia. Z drugiej strony op dodaje znak „-” do każdego wyrażenia.
Paulo Neves
8

Zobacz https://blogs.msdn.microsoft.com/taxiahou/2013/07/30/the-usage-of-running-a-subset-of-tests-in-google-test-framework-gtest_filter/ . Możesz tam znaleźć jasny przykład.

Wyłączenia są oznaczone znakiem „-”. Możesz powiedzieć wiele oddzielonych przez:. bez potrzeby powtarzania - z:.

--gtest_filter=-*str* : Spowoduje to uruchomienie testów, które nie zawierają ciągu znaków „str”.

--gtest_filter=-*str1*:*str2* : Spowoduje to uruchomienie testów, które nie zawierają ani „str1”, ani „str2”:

--gtest_filter=*str*:-*str1*:*str2* : Spowoduje to uruchomienie testów, które zawierają słowo i nie zawierają ani słowa, ani słowa 2.

Zatem wszystko, po czym następuje „-”, zostanie uwzględnione na liście wykluczeń.

Tak więc w twoim przypadku tak będzie --gtest_filter=-ABC.*:BCD.*

Gimhani
źródło