0Pricing
C++ Academy · Lezione

Configurare GTest

Aggiungere ed eseguire il framework

Configurare GTest è una lezione C++ Academy gratuita su CoddyKit. Questa è la lezione 1 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento C++ Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso C++ Academy include 4 lezioni in totale.

Perché un framework di test?

Google Test (GTest) è un framework C++ per unit test ampiamente utilizzato. Fornisce la registrazione dei test, asserzioni complete, fixture e report chiari, così può verificare automaticamente il codice.

Ottenere GTest

Modi comuni per ottenere GTest:

  • Pacchetto di sistema (ad esempio libgtest-dev)
  • FetchContent in CMake, scaricandolo da GitHub
  • Un submodule incluso nel progetto

FetchContent è l'opzione più portabile per i nuovi progetti.

CMake con FetchContent

Una configurazione CMake minima scarica GoogleTest e lo collega.

# 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)

Il primo test

Un test viene dichiarato con la macro TEST, che accetta il nome della test suite e il nome del test. Al suo interno si utilizzano le asserzioni.

#include <gtest/gtest.h>

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

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

Non serve main()

Il collegamento con GTest::gtest_main fornisce il main() che esegue tutti i test registrati. Lei deve scrivere solo i casi di test.

Scrivere il proprio main

Se serve un punto di ingresso personalizzato, inizializzi GTest autonomamente.

#include <gtest/gtest.h>

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

Compilare ed eseguire

Dopo aver configurato CMake, compili ed esegua.

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

GTest stampa un riepilogo colorato dei test superati e falliti.

Leggere l'output

Ogni test mostra prima [ RUN ], poi [ OK ] o [ FAILED ]. Una riga finale indica quanti test sono stati superati. I fallimenti includono file, riga e valori atteso ed effettivo.

Eseguire un sottoinsieme

Utilizzi il flag --gtest_filter per eseguire solo i test corrispondenti, ad esempio ./my_tests --gtest_filter=MathTest.*. Questo accelera il debugging mirato.

Integrare con CTest

Chiami enable_testing() e registri il binario con gtest_discover_tests, così ctest può eseguire la suite in CI.

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

Un flusso di lavoro efficace

Scriva un test che fallisce, implementi il codice e osservi il test superarsi. Mantenga i test veloci e indipendenti, così potrà eseguirli a ogni modifica.

Verifica rapida

Richiami come viene fornito main().

Riepilogo

Ha configurato Google Test.

  • Lo ottenga tramite FetchContent, pacchetto o submodule
  • TEST(Suite, Name) dichiara un test
  • Colleghi gtest_main per ottenere automaticamente main()
  • Compili, esegua, filtri e integri con CTest

Domande Frequenti

La lezione «Configurare GTest» è gratuita?

Sì — il testo completo di «Configurare GTest» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso C++ Academy, passa a CoddyKit PRO. Il corso C++ Academy include 4 lezioni in totale.

Cosa imparerò in «Configurare GTest»?

Aggiungere ed eseguire il framework Eserciti C++ Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare C++ Academy?

Non è richiesta alcuna esperienza precedente. C++ Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 4.

Quanto tempo richiede la lezione «Configurare GTest»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione C++ Academy?

Sì. Ogni lezione C++ Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Configurare GTest
  2. Asserzioni e matcher
  3. Fixture e configurazione
  4. Mocking con GMock
← Torna a C++ Academy