0Pricing
C++ Academy · Aula

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 build
  • cmake --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_main para obter uma main() 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

  1. Configuração do GTest
  2. Asserções e matchers
  3. Fixtures e configuração
  4. Mocking com GMock
← Voltar para C++ Academy