Repolode
catchorg

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