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.
catchorg/Catch2
Framework de testes unitários para C++ baseado em headers, com asserts simples, macros no estilo BDD e microbenchmarking básico.
- Estrelas
- 21,534
- Forks
- 3,437
- Issues abertas
- 454
- Último commit
- há 17 dias
O que é?
Catch2 é um framework de testes unitários para C++. Os nomes dos testes podem ser strings livres, os asserts são expressões booleanas comuns de C++, e as seções permitem que os testes compartilhem código de preparação e finalização localmente.
Além dos testes unitários, Catch2 inclui macros simples de BDD e microbenchmarking básico. Os benchmarks ficam de fora das execuções padrão e precisam ser selecionados explicitamente com a tag [!benchmark].
A linha v3 no branch devel transforma Catch2 de uma biblioteca de header único em uma biblioteca convencional, com vários headers e implementação compilada separadamente. O branch v2.x continua oferecendo suporte a C++11, e o Catch1.x oferece suporte a C++03.
Recursos principais
- 01Os nomes dos testes podem ser strings arbitrárias, sem precisar ser identificadores válidos.
- 02Os asserts são escritos como expressões booleanas normais de C++.
- 03As seções compartilham localmente o código de preparação e finalização dentro de um caso de teste.
- 04Inclui macros no estilo BDD para testes orientados a comportamento.
- 05Oferece microbenchmarking básico, executado com a tag [!benchmark].
- 06Não tem dependências externas.
Casos de uso
- Escrever testes unitários para uma base de código C++ com configuração mínima.
- Praticar desenvolvimento orientado a testes (TDD) em projetos C++.
- Adicionar microbenchmarks rápidos junto aos testes existentes.
- Organizar especificações no estilo comportamental usando macros BDD.
Antes de usar
- O README informa que a documentação ainda está sendo atualizada para refletir as mudanças da v3, então alguns documentos podem estar desatualizados em relação ao código.
Em coleções
Tópicos
Perguntas frequentes
- O que é Catch2?
- Framework de testes unitários para C++ baseado em headers, com asserts simples, macros no estilo BDD e microbenchmarking básico. Catch2 é um framework de testes unitários para C++. Os nomes dos testes podem ser strings livres, os asserts são expressões booleanas comuns de C++, e as seções permitem que os testes compartilhem código de preparação e finalização localmente.
- Catch2 é gratuito? Qual é a licença?
- Catch2 é open source sob a licença BSL-1.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
- Catch2 ainda é mantido?
- Manutenção ativa. O último commit de Catch2 foi em 8 de out. de 2026.
- Para que posso usar Catch2?
- Escrever testes unitários para uma base de código C++ com configuração mínima. Praticar desenvolvimento orientado a testes (TDD) em projetos C++. Adicionar microbenchmarks rápidos junto aos testes existentes. Organizar especificações no estilo comportamental usando macros BDD.
- Onde consigo Catch2?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/catchorg/Catch2
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
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.
AVA é um executor de testes concorrente para Node.js, com uma API concisa, mensagens de erro detalhadas e isolamento por arquivo.
PHPUnit é um framework de testes unitários para PHP, voltado a desenvolvedores e baseado na arquitetura xUnit.