Framework de testes unitários para C++ baseado em headers, com asserts simples, macros no estilo BDD e microbenchmarking básico.
google/googletest
GoogleTest é o framework de testes e mocks em C++ do Google, com testes no estilo xUnit, assertions abrangentes e GoogleMock.
- Estrelas
- 39,713
- Forks
- 10,935
- Issues abertas
- 552
- Último commit
- há 10 horas
O que é?
GoogleTest é um framework de testes unitários em C++ do Google, baseado na arquitetura xUnit. Ele permite que desenvolvedores escrevam casos de teste, agrupem-nos em suites e os executem com descoberta automática, sem precisar registrar os testes manualmente. O repositório também incorporou o antigo projeto separado GoogleMock, que oferece ferramentas para criar objetos mock e isolar o código em teste.
O framework oferece um amplo conjunto de assertions para igualdade, desigualdade, exceções e muito mais, além de permitir assertions definidas pelo usuário. Inclui death tests, que verificam se o código termina de uma forma específica, tratamento de falhas fatais e não fatais, e testes parametrizados por valores e por tipos. As execuções podem ter como alvo testes individuais, seguir uma ordem específica ou ocorrer em paralelo.
GoogleTest segue a política Foundational C++ Support Policy do Google para compiladores e plataformas, e a branch 1.18.x exige pelo menos C++17. Projetos como Chromium, LLVM, Protocol Buffers e OpenCV usam o framework, e vários runners de terceiros e adaptadores para IDEs se baseiam em sua saída.
Recursos principais
- 01Descoberta automática de testes, sem necessidade de registro manual.
- 02Ampla biblioteca de assertions, incluindo verificações de igualdade e exceções, além de assertions definidas pelo usuário.
- 03Death tests que verificam como o código termina, úteis para testar caminhos de tratamento de erros.
- 04Testes parametrizados por valores e por tipos.
- 05Tratamento de falhas fatais e não fatais, com opções para executar testes individualmente, em ordem ou em paralelo.
- 06Inclui GoogleMock para criar objetos mock.
Casos de uso
- Escrever testes unitários para uma biblioteca ou aplicação em C++.
- Isolar o código em teste simulando suas dependências com GoogleMock.
- Testar o código de tratamento de erros com death tests.
- Executar grandes suites de testes em C++ em paralelo no CI.
Antes de usar
- O branch 1.18.x requer, no mínimo, C++17.
- Está prevista uma dependência do Abseil no futuro.
Em coleções
Tópicos
Perguntas frequentes
- O que é googletest?
- GoogleTest é o framework de testes e mocks em C++ do Google, com testes no estilo xUnit, assertions abrangentes e GoogleMock. GoogleTest é um framework de testes unitários em C++ do Google, baseado na arquitetura xUnit. Ele permite que desenvolvedores escrevam casos de teste, agrupem-nos em suites e os executem com descoberta automática, sem precisar registrar os testes manualmente. O repositório também incorporou o antigo projeto separado GoogleMock, que oferece ferramentas para criar objetos mock e isolar o código em teste.
- googletest é gratuito? Qual é a licença?
- googletest é open source sob a licença BSD-3-Clause. Confira os termos da licença antes de usá-lo em produtos comerciais.
- googletest ainda é mantido?
- Manutenção ativa. O último commit de googletest foi em 6 de nov. de 2026.
- Para que posso usar googletest?
- Escrever testes unitários para uma biblioteca ou aplicação em C++. Isolar o código em teste simulando suas dependências com GoogleMock. Testar o código de tratamento de erros com death tests. Executar grandes suites de testes em C++ em paralelo no CI.
- Onde consigo googletest?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/google/googletest
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
PHPUnit é um framework de testes unitários para PHP, voltado a desenvolvedores e baseado na arquitetura xUnit.
Um framework de testes para Python que facilita a criação de testes simples e também dá conta de testes funcionais complexos para aplicações e bibliotecas.
Jest é um framework de testes para JavaScript com assertions integradas, mocking, testes de snapshot e modo watch interativo.
Toolkit de testes para Go com assertions, mocks e uma estrutura de suites compatível com o runner padrão go test.
Um framework de testes JavaScript bastante usado no Node.js e no navegador, com estrutura de testes no estilo describe/it e suporte a testes assíncronos.