0Pricing
C++ Academy · Lektion

GTest einrichten

Das Framework hinzufügen und ausführen

GTest einrichten ist eine kostenlose C++ Academy-Lektion auf CoddyKit. Dies ist Lektion 1 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des C++ Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der C++ Academy-Kurs umfasst insgesamt 4 Lektionen.

Warum ein Test-Framework?

Google Test (GTest) ist ein weit verbreitetes C++-Unit-Testing-Framework. Es bietet Testregistrierung, aussagekräftige Assertions, Fixtures und eine übersichtliche Berichterstattung, sodass Sie Ihren Code automatisch überprüfen können.

GTest beschaffen

Übliche Möglichkeiten, GTest zu beziehen:

  • Systempaket, zum Beispiel libgtest-dev
  • FetchContent in CMake zum Herunterladen von GitHub
  • Als eingebundenes Submodul

Für neue Projekte ist FetchContent am portabelsten.

CMake mit FetchContent

Eine minimale CMake-Konfiguration lädt GoogleTest herunter und bindet es ein.

# CMakeLists.txt
include(FetchContent)
FetchContent_Declare(
  googletest
  URL https://github.com/google/googletest/archive/refs/tags/v1.14.0.zip
)
FetchContent_MakeAvailable(googletest)

add_executable(my_tests test_main.cpp)
target_link_libraries(my_tests GTest::gtest_main)

Ihr erster Test

Ein Test wird mit dem Makro TEST deklariert, das den Namen der Testsuite und den Testnamen entgegennimmt. Im Test verwenden Sie Assertions.

#include <gtest/gtest.h>

int add(int a, int b) { return a + b; }

TEST(MathTest, AddsPositive) {
    EXPECT_EQ(add(2, 3), 5);
}

Kein main() erforderlich

Die Verknüpfung mit GTest::gtest_main stellt das main() bereit, das alle registrierten Tests ausführt. Sie schreiben nur die Testfälle.

Eigenes main schreiben

Wenn Sie einen eigenen Einstiegspunkt benötigen, initialisieren Sie GTest selbst.

#include <gtest/gtest.h>

int main(int argc, char** argv) {
    ::testing::InitGoogleTest(&argc, argv);
    return RUN_ALL_TESTS();
}

Erstellen und ausführen

Konfigurieren Sie zunächst CMake, und erstellen und führen Sie anschließend das Projekt aus.

  • cmake -S . -B build
  • cmake --build build
  • ./build/my_tests

GTest gibt eine farbige Zusammenfassung der erfolgreichen und fehlgeschlagenen Tests aus.

Die Ausgabe lesen

Jeder Test gibt zunächst [ RUN ] und anschließend [ OK ] oder [ FAILED ] aus. Eine abschließende Zeile zeigt, wie viele Tests erfolgreich waren. Bei Fehlern werden Datei, Zeile sowie die erwarteten und tatsächlichen Werte angegeben.

Eine Teilmenge ausführen

Verwenden Sie das Flag --gtest_filter, um nur passende Tests auszuführen, zum Beispiel ./my_tests --gtest_filter=MathTest.*. Das beschleunigt das gezielte Debugging.

In CTest integrieren

Rufen Sie enable_testing() auf und registrieren Sie die Binärdatei mit gtest_discover_tests, damit ctest Ihre Testsuite in CI ausführen kann.

# CMakeLists.txt
enable_testing()
include(GoogleTest)
gtest_discover_tests(my_tests)

Ein gesunder Workflow

Schreiben Sie einen fehlschlagenden Test, implementieren Sie den Code und lassen Sie den Test erfolgreich durchlaufen. Halten Sie Tests schnell und unabhängig, damit Sie sie bei jeder Änderung ausführen können.

Kurze Überprüfung

Rufen Sie sich in Erinnerung, wie main() bereitgestellt wird.

Zusammenfassung

Sie haben Google Test eingerichtet.

  • Beziehen Sie es über FetchContent, ein Paket oder ein Submodul
  • TEST(Suite, Name) deklariert einen Test
  • Verknüpfen Sie gtest_main für ein automatisches main()
  • Erstellen, ausführen, filtern und in CTest integrieren

Häufig gestellte Fragen

Ist die Lektion „GTest einrichten“ kostenlos?

Ja — der vollständige Text von „GTest einrichten“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des C++ Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der C++ Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „GTest einrichten“?

Das Framework hinzufügen und ausführen Du übst C++ Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um C++ Academy zu starten?

Keine Vorkenntnisse erforderlich. C++ Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 4.

Wie lange dauert die Lektion „GTest einrichten“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser C++ Academy-Lektion Code schreiben und ausführen?

Ja. Jede C++ Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. GTest einrichten
  2. Assertions und Matcher
  3. Fixtures und Setup
  4. Mocking mit GMock
← Zurück zu C++ Academy