Wie gebe ich mehrere Ausschlussfilter in --gtest_filter an?

83

Die Frage betrifft das Google-Test-Framework. Ich möchte alle Tests mit Ausnahme einiger Tests gemäß mehreren Ausschlussfiltern ausführen, z. --gtest_filter=-ABC.*:-BCD.*

Abgrund.7
quelle

Antworten:

123

Sie gruppieren die Muster im Formular --gtest_filter=POSTIVE_PATTERNS[-NEGATIVE_PATTERNS]

In diesem Fall möchten Sie also --gtest_filter=-ABC.*:BCD.*

Fraser
quelle
5
Toll. Ich habe eine Weile gebraucht, was die Gruppierung bedeutete und den genauen Unterschied zwischen dem Beispiel des OP und der Antwort. Beachten Sie, dass das Zeichen '-' ein einzelnes Zeichen ist, das beide Ausdrücke betrifft. Die Operation hingegen fügt jedem Ausdruck das Zeichen '-' hinzu.
Paulo Neves
8

Siehe https://blogs.msdn.microsoft.com/taxiahou/2013/07/30/the-usage-of-running-a-subset-of-tests-in-google-test-framework-gtest_filter/ . Dort finden Sie ein klares Beispiel.

Ausschlüsse sind mit einem '-' gekennzeichnet. Sie können mehrere getrennt sagen durch :. keine Notwendigkeit zu wiederholen - mit :.

--gtest_filter=-*str* : Dadurch werden Tests ausgeführt, die keine Zeichenfolge "str" ​​enthalten.

--gtest_filter=-*str1*:*str2* : Dadurch werden Tests ausgeführt, die weder "str1" noch "str2" enthalten:

--gtest_filter=*str*:-*str1*:*str2* : Dadurch werden Tests ausgeführt, die str enthalten und weder str1 noch str2 enthalten.

Alles, was auf '-' folgt, wird für die Ausschlussliste gezählt.

In Ihrem Fall wird es also so sein --gtest_filter=-ABC.*:BCD.*

Gimhani
quelle