close

Verificar (biblioteca de testes unitários)

Ir para a navegação Ir para a pesquisa
Verificar
Tipo de Ferramenta de teste de unidade
Escrito em XI
Sistema operacional Linux , macOS , Windows
última versão 0.15.2 ( 7 de agosto de 2020 )
Estado ativo
Licença LGPLv3
Local na rede Internet libcheck.github.io/check/

Check é uma  biblioteca de teste de unidade de estilo xUnit para programas C. Distribuído com testes de código aberto sob uma licença gratuita. A filosofia principal do projeto é cobrir todas as possibilidades do sistema de testes com testes unitários. Suporta a execução de testes em processos separados (por meio da chamada de sistema fork() no sistema operacional Linux [1] ) para detectar a conclusão incorreta de testes (por exemplo, devido a um erro de segmentação).

Programa de teste de amostra

Para escrever um programa de teste, você precisa incluir o arquivo de cabeçalho da biblioteca check.h, escrever funções de teste, distribuí-las em grupos e distribuir os grupos em suítes de teste. Após o teste, você pode obter o número de testes que falharam.

#include <stdlib.h> 
// Inclui o arquivo de cabeçalho da biblioteca.
#include <check.h> 

// Função para testar alguma tarefa.
START_TEST ( test_name )
{
  /* Testa o código-fonte. */
}
END_TEST

// Função para criar uma suíte de testes.
Suite * example_suite_create ( void ) 
{
    suite * suite = suite_create ( "Exemplo" );   
    // O conjunto é dividido em grupos de testes, divididos por alguns critérios.
    TCase * tcase_core = tcase_create ( "Núcleo do exemplo" );   
    
    // Adicionando um teste a um grupo de teste.
    tcase_add_test ( tcase_core , test_name ); 
    
    // Adicionando um teste ao conjunto de testes.
    suite_add_tcase ( suite , tcase_core ); 
    
    suíte de retorno ; 
}

int main ( void ) 
{
    Suite * suite = example_suite_create ();   
    SRunner * suite_runner = srunner_create ( suite );   
    
    srunner_run_all ( suite_runner , CK_NORMAL ); 
    // Obtém o número de testes com falha.
    failed_count = srunner_ntests_failed ( suite_runner );  
    srunner_free ( suite_runner );
    
    if ( failed_count != 0 ) {    
        // Sinal que o teste falhou.
        return EXIT_FAILURE ; 
    }

    return EXIT_SUCCESS ; 
}

Veja também

Notas

  1. Check 0.10.0:3 Tutorial: Teste de Unidade Básica . libcheck.github.io. Recuperado em 13 de novembro de 2016. Arquivado a partir do original em 19 de maio de 2016.

Links