2016-04-25 2 views
2

Ich möchte übermäßig verbose "RUN" und "OK" -Ausgangsleitungen von googeltest unterdrücken, während alle anderen Ausgaben vom Standard-Listener beibehalten werden.Wie reduziert man die Ausführlichkeit von googeltest (überschreibt zwei Methoden des Standard-Listeners)?

https://github.com/google/googletest/blob/master/googletest/docs/AdvancedGuide.md#defining-event-listeners beschreibt:

(1), wie der Standard Hörer von einem benutzerdefinierten Zuhörer zu ersetzen oder

(2), wie ein zusätzlichen Hörer hinzuzufügen.

Leider löst das nicht genau mein Problem. Änderung (1) würde auch andere Nachrichten unterdrücken, wenn ich sie nicht neu implementiere. Änderung (2) überschreibt nicht die Standardmethoden, sondern fügt nur zusätzliche Ausgaben hinzu.

Für die gewünschte Lösung würde mein Listener vom Standard-Listener und nicht von EmptyTestEventListener erben.

Wie erreicht man das?

Antwort

1

Der Standard-Listener heißt PrettyUnitTestResultPrinter. Es ist in src/gtest.cc implementiert. Leider ist es nicht in einer .h Datei deklariert. Daher gibt es keine direkte Möglichkeit, davon zu erben.

Deshalb ist die einfachste Lösung für mein Problem ist ein brutaler ein: alle googletest zu einem ThirdParty/gtest Verzeichnis in meinem Projekt kopieren und Patchsrc/gtest.cc. Suchen Sie einfach nach "RUN" und "OK" und löschen Sie die unerwünschten Ausgabebefehle.

+0

Wird als Feature-Anfrage unter https://github.com/google/googletest/issues/771 gemeldet. –

Verwandte Themen