GoogleTest folgt nun der Abseil Live at Head-Philosophie. Wir empfehlen, so oft wie möglich auf den neuesten Commit im main
zu aktualisieren. Wir veröffentlichen gelegentlich semantische Versionen, getaggt mit v${major}.${minor}.${patch}
(z. B. v1.15.2
).
Unsere Dokumentation ist jetzt live auf den GitHub-Seiten unter https://google.github.io/googletest/ verfügbar. Wir empfehlen, die Dokumentation auf GitHub-Seiten zu durchsuchen und nicht direkt im Repository.
Version 1.15.2 ist jetzt verfügbar.
Der 1.15.x-Zweig erfordert mindestens C++14.
Wir nutzen die internen Systeme von Google für die kontinuierliche Integration.
Wir planen, eine Abhängigkeit von Abseil einzugehen.
Dieses Repository ist eine Fusion der ehemals getrennten Projekte GoogleTest und GoogleMock. Diese waren so eng miteinander verbunden, dass es sinnvoll ist, sie gemeinsam zu pflegen und freizugeben.
Die Dokumentation finden Sie im GoogleTest-Benutzerhandbuch. Wir empfehlen, mit dem GoogleTest Primer zu beginnen.
Weitere Informationen zum Erstellen von GoogleTest finden Sie unter googletest/README.md.
xUnit-Testframework:
Googletest basiert auf dem xUnit-Testframework, einer beliebten Architektur für Unit-Tests
Testerkennung:
Googletest erkennt Ihre Tests automatisch und führt sie aus, sodass Sie Ihre Tests nicht mehr manuell registrieren müssen
Umfangreiche Behauptungen:
Googletest bietet eine Vielzahl von Behauptungen wie Gleichheit, Ungleichheit, Ausnahmen und mehr, sodass Sie Ihren Code ganz einfach testen können
Benutzerdefinierte Behauptungen:
Sie können mit Googletest Ihre eigenen Behauptungen definieren und so ganz einfach Tests schreiben, die spezifisch für Ihren Code sind
Todestests:
Googletest unterstützt Todestests, die überprüfen, ob Ihr Code auf eine bestimmte Weise beendet wird, was es zum Testen von Fehlerbehandlungscode nützlich macht
Schwerwiegende und nicht schwerwiegende Ausfälle:
Sie können mit Googletest festlegen, ob ein Testfehler als schwerwiegend oder nicht schwerwiegend behandelt werden soll, sodass Tests auch dann weiter ausgeführt werden können, wenn ein Fehler auftritt
Wertparametrisierte Tests:
Googletest unterstützt wertparametrisierte Tests, die mehrmals mit unterschiedlichen Eingabewerten ausgeführt werden, was es zum Testen von Funktionen nützlich macht, die unterschiedliche Eingaben benötigen
Typparametrisierte Tests:
Googletest unterstützt auch typparametrisierte Tests, die mit unterschiedlichen Datentypen ausgeführt werden, was es zum Testen von Funktionen nützlich macht, die mit unterschiedlichen Datentypen arbeiten
Verschiedene Möglichkeiten zur Durchführung von Tests:
Googletest bietet viele Optionen zum Ausführen von Tests, darunter das Ausführen einzelner Tests, das Ausführen von Tests in einer bestimmten Reihenfolge und das parallele Ausführen von Tests
GoogleTest befolgt die Foundational C++ Support Policy von Google. In dieser Tabelle finden Sie eine Liste der aktuell unterstützten Versionen von Compilern, Plattformen und Build-Tools.
Neben vielen internen Projekten bei Google wird GoogleTest auch von folgenden bemerkenswerten Projekten verwendet:
Die Chromium-Projekte (hinter dem Chrome-Browser und Chrome OS).
Der LLVM-Compiler.
Protocol Buffers, das Datenaustauschformat von Google.
Die OpenCV-Computer-Vision-Bibliothek.
GTest Runner ist ein Qt5-basierter automatisierter Testläufer und eine grafische Benutzeroberfläche mit leistungsstarken Funktionen für Windows- und Linux-Plattformen.
GoogleTest UI ist ein Testläufer, der Ihre Testbinärdatei ausführt, Ihnen die Verfolgung des Fortschritts über einen Fortschrittsbalken ermöglicht und eine Liste der Testfehler anzeigt. Wenn Sie darauf klicken, wird der Fehlertext angezeigt. Die GoogleTest-Benutzeroberfläche ist in C# geschrieben.
GTest TAP Listener ist ein Ereignis-Listener für GoogleTest, der das TAP-Protokoll für die Ausgabe von Testergebnissen implementiert. Wenn Ihr Testläufer TAP versteht, kann es für Sie hilfreich sein.
gtest-parallel ist ein Testläufer, der Tests aus Ihrer Binärdatei parallel ausführt, um eine erhebliche Beschleunigung zu erzielen.
GoogleTest Adapter ist eine VS-Code-Erweiterung, mit der Sie GoogleTest in einer Baumansicht anzeigen und Ihre Tests ausführen/Debuggen können.
C++ TestMate ist eine VS-Code-Erweiterung, mit der Sie GoogleTest in einer Baumansicht anzeigen und Ihre Tests ausführen/Debuggen können.
Cornichon ist ein kleiner Gherkin-DSL-Parser, der Stub-Code für GoogleTest generiert.
Bitte lesen Sie CONTRIBUTING.md
für Einzelheiten darüber, wie Sie zu diesem Projekt beitragen können.
Viel Spaß beim Testen!