close

Check (libreria di unit test)

Vai alla navigazione Vai alla ricerca
Dai un'occhiata
Tipo di Strumento di test unitario
Scritto in Xi
Sistema operativo Linux , macOS , Windows
ultima versione 0.15.2 ( 7 agosto 2020 )
Stato attivo
Licenza LGPLv3
Sito web libcheck.github.io/check/

Check è una  libreria di unit testing in stile xUnit per programmi C. Distribuito con test open source con licenza gratuita. La filosofia principale del progetto è quella di coprire tutte le possibilità del sistema di test con test unitari. Supporta l'esecuzione di test in processi separati (tramite la chiamata di sistema fork() nel sistema operativo Linux [1] ) per poter rilevare il completamento errato dei test (ad esempio, a causa di un errore di segmentazione).

Esempio di programma di test

Per scrivere un programma di test, è necessario includere il file di intestazione della libreria check.h, scrivere funzioni di test, distribuirle in gruppi e distribuire i gruppi in suite di test. Dopo il test, puoi ottenere il numero di test non riusciti.

#include <stdlib.h> 
// Include il file di intestazione della libreria.
#includi <check.h> 

// Funzione per testare alcune attività.
START_TEST ( test_name )
{
  /* Testare il codice sorgente. */
}
END_TEST

// Funzione per creare una suite di test.
Suite * esempio_suite_create ( void ) 
{
    suite * suite = suite_create ( "Esempio" );   
    // Il set è suddiviso in gruppi di test, divisi in base ad alcuni criteri.
    TCase * tcase_core = tcase_create ( "Nucleo dell'esempio" );   
    
    // Aggiunta di un test a un gruppo di test.
    tcase_add_test ( tcase_core , test_name ); 
    
    // Aggiunta di un test alla suite di test.
    suite_add_tcase ( suite , tcase_core ); 
    
    suite di ritorno ; 
}

int principale ( vuoto ) 
{
    Suite * suite = esempio_suite_create ();   
    SRunner * suite_runner = srunner_create ( suite );   
    
    srunner_run_all ( suite_runner , CK_NORMAL ); 
    // Ottieni il numero di test falliti.
    conteggio_fallito = srunner_ntests_failed ( suite_runner );  
    srunner_free ( suite_runner );
    
    se ( conteggio_fallito != 0 ) {    
        // Segnala che il test è fallito.
        ritorno EXIT_FAILURE ; 
    }

    ritorno EXIT_SUCCESS ; 
}

Vedi anche

Note

  1. Verifica 0.10.0:3 Tutorial: test unitario di base . libcheck.github.io. Estratto il 13 novembre 2016 . Archiviato dall'originale il 19 maggio 2016.

Collegamenti