Configuração do GTest
Adicione e execute o framework
Configuração do GTest é uma aula grátis de C++ Academy no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de C++ Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de C++ Academy inclui 4 aulas no total.
Por que usar uma estrutura de testes?
O Google Test (GTest) é uma estrutura de testes unitários em C++ amplamente utilizada. Ela oferece registro de testes, asserções avançadas, contextos de teste e relatórios claros, para que você possa verificar o código automaticamente.
Obtendo o GTest
Formas comuns de obter o GTest:
- Pacote do sistema (por exemplo,
libgtest-dev) - FetchContent no CMake, baixando o conteúdo do GitHub
- Um submódulo incluído no projeto
FetchContent é a opção mais portátil para projetos novos.
CMake com FetchContent
Uma configuração mínima do CMake baixa o GoogleTest e o vincula ao projeto.
# 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)Seu primeiro teste
Um teste é declarado com a macro TEST, que recebe o nome de uma suíte de testes e o nome de um teste. Dentro dele, você usa asserções.
#include <gtest/gtest.h>
int add(int a, int b) { return a + b; }
TEST(MathTest, AddsPositive) {
EXPECT_EQ(add(2, 3), 5);
}Não é necessário escrever main()
A vinculação com GTest::gtest_main fornece a função main() que executa todos os testes registrados. Você só precisa escrever os casos de teste.
Escrevendo sua própria main
Se precisar de um ponto de entrada personalizado, inicialize o GTest por conta própria.
#include <gtest/gtest.h>
int main(int argc, char** argv) {
::testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();
}Compilando e executando
Depois de configurar o CMake, compile e execute.
cmake -S . -B buildcmake --build build./build/my_tests
O GTest exibe um resumo colorido de sucessos e falhas.
Lendo a saída
Cada teste informa [ RUN ] e depois [ OK ] ou [ FAILED ]. Uma linha final mostra quantos testes foram aprovados. As falhas incluem o arquivo, a linha e os valores esperado e real.
Executando um subconjunto
Use a opção --gtest_filter para executar apenas os testes correspondentes, por exemplo, ./my_tests --gtest_filter=MathTest.*. Isso acelera a depuração direcionada.
Integrando com o CTest
Chame enable_testing() e registre o binário com gtest_discover_tests, para que o ctest possa executar sua suíte na integração contínua.
# CMakeLists.txt
enable_testing()
include(GoogleTest)
gtest_discover_tests(my_tests)Um fluxo de trabalho saudável
Escreva um teste que falha, implemente o código e observe-o passar. Mantenha os testes rápidos e independentes, para que você possa executá-los a cada alteração.
Verificação rápida
Relembre como main() é fornecida.
Recapitulação
Você configurou o Google Test.
- Obtenha-o por meio de FetchContent, de um pacote ou de um submódulo
TEST(Suite, Name)declara um teste- Vincule
gtest_mainpara obter umamain()automática - Compile, execute, filtre e integre com o CTest
Perguntas Frequentes
A aula “Configuração do GTest” é grátis?
Sim — o texto completo de “Configuração do GTest” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de C++ Academy, atualize para CoddyKit PRO. O curso de C++ Academy inclui 4 aulas no total.
O que vou aprender em “Configuração do GTest”?
Adicione e execute o framework Você pratica C++ Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar C++ Academy?
Nenhuma experiência prévia é necessária. C++ Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.
Quanto tempo leva a aula “Configuração do GTest”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de C++ Academy?
Sim. Cada aula de C++ Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Configuração do GTest
- Asserções e matchers
- Fixtures e configuração
- Mocking com GMock