Testes de unidade

Realize testes de unidade com facilidade, pois o CLion se integra aos frameworks Google Test, Catch, Boost.Test e Doctest.

Executar testes

Há uma maneira padrão de executar testes, simplesmente rodando um executável comum no CLion. No entanto, para se beneficiar de um executor de testes incorporado, use a configuração especial do Google Test, Catch, Boost.Test ou Doctest.

Execução de testes

Caso seu destino do CMake esteja vinculado com gtest ou gmock, essa configuração será criada automaticamente. Ou, como alternativa, você pode executar um único teste, fixtures ou arquivo inteiro pressionando ⌃⇧R. Além disso, você pode criar e atualizar essas configurações manualmente nas configurações de Run | Edit Configurations...:

Execução de testes

Para restringir o conjunto de testes no caso da configuração do Catch, use tags e tire proveito da complementação de nomes de tags:

Configuração do Catch

Executor de testes

Inspecione resultados

Obtenha o melhor do desenvolvimento orientado a testes com um executor de testes de unidade fluente e fácil de usar. Sua exibição dedicada mostrará:

  • a barra de progresso com a porcentagem de testes executados até o momento,
  • uma exibição em árvore de todos os testes em execução, incluindo as informações sobre o status e a duração dos testes,
  • o fluxo de saída do teste inteiro e muito mais

Além disso, o executor de testes do CLion permite:

  • executar novamente qualquer teste, todos os testes ou todos os testes reprovados,
  • exportar resultados de testes e abrir resultados anteriores no histórico, salvos automaticamente,
  • navegar até o código-fonte de um teste específico via Ctrl+↓
Ícones de execução/status

Ícones de execução/status

Os ícones na medianiz esquerda permitem executar/depurar testes ou executá-los com o Valgrind Memcheck, além de relatar o status dos testes: sucesso ou falha.

Gerar código

O recurso de geração de código (Alt+Insert) pode ajudar muito ao escrever testes de unidade. Para o Google Test, crie testes, fixtures de teste ou métodos SetUp/TearDown.

Geração de código em testes

No caso da geração de testes para fixtures, a macro TEST() é automaticamente convertida no TEST_F(), TEST_P(), TYPED_TEST() ou TYPED_TEST_P() apropriado:

Geração de código em testes
Suporte para CTest

Suporte para CTest

O CTest, um executor de teste específico do CMake, é compatível com o CLion. Isso significa que a lista de testes que são executados com o CTest é detectada, e o IDE cria automaticamente configurações de execução/depuração para eles. Quando os testes são iniciados, os resultados são apresentados no executor de teste integrado, a partir do qual você pode depurar testes, executar novamente apenas os testes que falharam e fazer muito mais.